github.com/rish1988/moby@v25.0.2+incompatible/daemon/inspect_linux.go (about) 1 package daemon // import "github.com/docker/docker/daemon" 2 3 import ( 4 "context" 5 6 "github.com/docker/docker/api/types" 7 "github.com/docker/docker/api/types/backend" 8 "github.com/docker/docker/api/types/versions/v1p19" 9 "github.com/docker/docker/container" 10 ) 11 12 // This sets platform-specific fields 13 func setPlatformSpecificContainerFields(container *container.Container, contJSONBase *types.ContainerJSONBase) *types.ContainerJSONBase { 14 contJSONBase.AppArmorProfile = container.AppArmorProfile 15 contJSONBase.ResolvConfPath = container.ResolvConfPath 16 contJSONBase.HostnamePath = container.HostnamePath 17 contJSONBase.HostsPath = container.HostsPath 18 19 return contJSONBase 20 } 21 22 // containerInspectPre120 gets containers for pre 1.20 APIs. 23 func (daemon *Daemon) containerInspectPre120(ctx context.Context, name string) (*v1p19.ContainerJSON, error) { 24 ctr, err := daemon.GetContainer(name) 25 if err != nil { 26 return nil, err 27 } 28 29 ctr.Lock() 30 defer ctr.Unlock() 31 32 base, err := daemon.getInspectData(&daemon.config().Config, ctr) 33 if err != nil { 34 return nil, err 35 } 36 37 volumes := make(map[string]string) 38 volumesRW := make(map[string]bool) 39 for _, m := range ctr.MountPoints { 40 volumes[m.Destination] = m.Path() 41 volumesRW[m.Destination] = m.RW 42 } 43 44 return &v1p19.ContainerJSON{ 45 ContainerJSONBase: base, 46 Volumes: volumes, 47 VolumesRW: volumesRW, 48 Config: &v1p19.ContainerConfig{ 49 Config: ctr.Config, 50 MacAddress: ctr.Config.MacAddress, //nolint:staticcheck // ignore SA1019: field is deprecated, but still used on API < v1.44. 51 NetworkDisabled: ctr.Config.NetworkDisabled, 52 ExposedPorts: ctr.Config.ExposedPorts, 53 VolumeDriver: ctr.HostConfig.VolumeDriver, 54 Memory: ctr.HostConfig.Memory, 55 MemorySwap: ctr.HostConfig.MemorySwap, 56 CPUShares: ctr.HostConfig.CPUShares, 57 CPUSet: ctr.HostConfig.CpusetCpus, 58 }, 59 NetworkSettings: daemon.getBackwardsCompatibleNetworkSettings(ctr.NetworkSettings), 60 }, nil 61 } 62 63 func inspectExecProcessConfig(e *container.ExecConfig) *backend.ExecProcessConfig { 64 return &backend.ExecProcessConfig{ 65 Tty: e.Tty, 66 Entrypoint: e.Entrypoint, 67 Arguments: e.Args, 68 Privileged: &e.Privileged, 69 User: e.User, 70 } 71 }