github.com/devdivbcp/moby@v17.12.0-ce-rc1.0.20200726071732-2d4bfdc789ad+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 container, err := daemon.GetContainer(name) 24 if err != nil { 25 return nil, err 26 } 27 28 container.Lock() 29 defer container.Unlock() 30 31 base, err := daemon.getInspectData(container) 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 container.MountPoints { 39 volumes[m.Destination] = m.Path() 40 volumesRW[m.Destination] = m.RW 41 } 42 43 config := &v1p19.ContainerConfig{ 44 Config: container.Config, 45 MacAddress: container.Config.MacAddress, 46 NetworkDisabled: container.Config.NetworkDisabled, 47 ExposedPorts: container.Config.ExposedPorts, 48 VolumeDriver: container.HostConfig.VolumeDriver, 49 Memory: container.HostConfig.Memory, 50 MemorySwap: container.HostConfig.MemorySwap, 51 CPUShares: container.HostConfig.CPUShares, 52 CPUSet: container.HostConfig.CpusetCpus, 53 } 54 networkSettings := daemon.getBackwardsCompatibleNetworkSettings(container.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 }