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