MCPcopy Create free account
hub / github.com/containerd/nerdctl / Handler

Method Handler

pkg/cmd/container/inspect.go:74–116  ·  view source on GitHub ↗
(ctx context.Context, found containerwalker.Found)

Source from the content-addressed store, hash-verified

72}
73
74func (x *containerInspector) Handler(ctx context.Context, found containerwalker.Found) error {
75 ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
76 defer cancel()
77
78 n, err := containerinspector.Inspect(ctx, found.Container)
79 if err != nil {
80 return err
81 }
82
83 containerLabels, err := found.Container.Labels(ctx)
84 if err != nil {
85 return err
86 }
87 ports, err := portutil.LoadPortMappings(x.dataStore, x.namespace, n.ID, containerLabels)
88 if err != nil {
89 return err
90 }
91 if n.Process != nil && n.Process.NetNS != nil && len(ports) > 0 {
92 n.Process.NetNS.PortMappings = ports
93 }
94
95 switch x.mode {
96 case "native":
97 x.entries = append(x.entries, n)
98 case "dockercompat":
99 d, err := dockercompat.ContainerFromNative(n)
100 if err != nil {
101 return err
102 }
103 if x.size {
104 resourceUsage, allResourceUsage, err := imgutil.ResourceUsage(ctx, x.snapshotter, d.ID)
105 if err == nil {
106 d.SizeRw = &resourceUsage.Size
107 d.SizeRootFs = &allResourceUsage.Size
108 }
109 }
110 x.entries = append(x.entries, d)
111 return err
112 default:
113 return fmt.Errorf("unknown mode %q", x.mode)
114 }
115 return nil
116}

Callers

nothing calls this directly

Calls 6

InspectFunction · 0.92
LoadPortMappingsFunction · 0.92
ContainerFromNativeFunction · 0.92
ResourceUsageFunction · 0.92
WithTimeoutMethod · 0.65
LabelsMethod · 0.65

Tested by

no test coverage detected