github.com/fntlnz/docker@v1.9.0-rc3/daemon/inspect_unix.go (about) 1 // +build !windows 2 3 package daemon 4 5 import ( 6 "github.com/docker/docker/api/types" 7 "github.com/docker/docker/api/types/versions/v1p19" 8 ) 9 10 // This sets platform-specific fields 11 func setPlatformSpecificContainerFields(container *Container, contJSONBase *types.ContainerJSONBase) *types.ContainerJSONBase { 12 contJSONBase.AppArmorProfile = container.AppArmorProfile 13 contJSONBase.ResolvConfPath = container.ResolvConfPath 14 contJSONBase.HostnamePath = container.HostnamePath 15 contJSONBase.HostsPath = container.HostsPath 16 17 return contJSONBase 18 } 19 20 // ContainerInspectPre120 gets containers for pre 1.20 APIs. 21 func (daemon *Daemon) ContainerInspectPre120(name string) (*v1p19.ContainerJSON, error) { 22 container, err := daemon.Get(name) 23 if err != nil { 24 return nil, err 25 } 26 27 container.Lock() 28 defer container.Unlock() 29 30 base, err := daemon.getInspectData(container, false) 31 if err != nil { 32 return nil, err 33 } 34 35 volumes := make(map[string]string) 36 volumesRW := make(map[string]bool) 37 for _, m := range container.MountPoints { 38 volumes[m.Destination] = m.Path() 39 volumesRW[m.Destination] = m.RW 40 } 41 42 config := &v1p19.ContainerConfig{ 43 container.Config, 44 container.Config.MacAddress, 45 container.Config.NetworkDisabled, 46 container.Config.ExposedPorts, 47 container.hostConfig.VolumeDriver, 48 container.hostConfig.Memory, 49 container.hostConfig.MemorySwap, 50 container.hostConfig.CPUShares, 51 container.hostConfig.CpusetCpus, 52 } 53 networkSettings := getBackwardsCompatibleNetworkSettings(container.NetworkSettings) 54 55 return &v1p19.ContainerJSON{base, volumes, volumesRW, config, networkSettings}, nil 56 } 57 58 func addMountPoints(container *Container) []types.MountPoint { 59 mountPoints := make([]types.MountPoint, 0, len(container.MountPoints)) 60 for _, m := range container.MountPoints { 61 mountPoints = append(mountPoints, types.MountPoint{ 62 Name: m.Name, 63 Source: m.Path(), 64 Destination: m.Destination, 65 Driver: m.Driver, 66 Mode: m.Mode, 67 RW: m.RW, 68 }) 69 } 70 return mountPoints 71 }