2017-05-30 68 views
1

我有一個碼頭工人容器命名some-mysq升,attacched名爲mynet覆蓋網絡:當我這樣做docker inspect some-mysql它讓我這個巨大的JSON:具有多個網絡接口泊塢容器:只得到一個IP地址

{ 
     "Id": "49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f", 
     "Created": "2017-02-24T09:21:50.237425126Z", 
     "Path": "docker-entrypoint.sh", 
     "Args": [ 
      "mysqld" 
     ], 
     "State": { 
      "Status": "running", 
      "Running": true, 
      "Paused": false, 
      "Restarting": false, 
      "OOMKilled": false, 
      "Dead": false, 
      "Pid": 28706, 
      "ExitCode": 0, 
      "Error": "", 
      "StartedAt": "2017-03-27T06:59:40.137554407Z", 
      "FinishedAt": "2017-03-25T00:05:46.938307695Z" 
     }, 
     "Image": "sha256:7666f75adb6b50676a366c6fd7a3916cb41f6e8eaf336c3d3ab7d35317fed0b9", 
     "ResolvConfPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/resolv.conf", 
     "HostnamePath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/hostname", 
     "HostsPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/hosts", 
     "LogPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f-json.log", 
     "Name": "/some-mysql", 
     "RestartCount": 0, 
     "Driver": "aufs", 
     "MountLabel": "", 
     "ProcessLabel": "", 
     "AppArmorProfile": "", 
     "ExecIDs": null, 
     "HostConfig": { 
      "Binds": null, 
      "ContainerIDFile": "", 
      "LogConfig": { 
       "Type": "json-file", 
       "Config": {} 
      }, 
      "NetworkMode": "default", 
      "PortBindings": { 
       "3306/tcp": [ 
        { 
         "HostIp": "", 
         "HostPort": "3307" 
        } 
       ] 
      }, 
      "RestartPolicy": { 
       "Name": "no", 
       "MaximumRetryCount": 0 
      }, 
      "AutoRemove": false, 
      "VolumeDriver": "", 
      "VolumesFrom": null, 
      "CapAdd": null, 
      "CapDrop": null, 
      "Dns": [], 
      "DnsOptions": [], 
      "DnsSearch": [], 
      "ExtraHosts": null, 
      "GroupAdd": null, 
      "IpcMode": "", 
      "Cgroup": "", 
      "Links": null, 
      "OomScoreAdj": 0, 
      "PidMode": "", 
      "Privileged": false, 
      "PublishAllPorts": false, 
      "ReadonlyRootfs": false, 
      "SecurityOpt": null, 
      "UTSMode": "", 
      "UsernsMode": "", 
      "ShmSize": 67108864, 
      "Runtime": "runc", 
      "ConsoleSize": [ 
       0, 
       0 
      ], 
      "Isolation": "", 
      "CpuShares": 0, 
      "Memory": 0, 
      "NanoCpus": 0, 
      "CgroupParent": "", 
      "BlkioWeight": 0, 
      "BlkioWeightDevice": null, 
      "BlkioDeviceReadBps": null, 
      "BlkioDeviceWriteBps": null, 
      "BlkioDeviceReadIOps": null, 
      "BlkioDeviceWriteIOps": null, 
      "CpuPeriod": 0, 
      "CpuQuota": 0, 
      "CpuRealtimePeriod": 0, 
      "CpuRealtimeRuntime": 0, 
      "CpusetCpus": "", 
      "CpusetMems": "", 
      "Devices": [], 
      "DiskQuota": 0, 
      "KernelMemory": 0, 
      "MemoryReservation": 0, 
      "MemorySwap": 0, 
      "MemorySwappiness": -1, 
      "OomKillDisable": false, 
      "PidsLimit": 0, 
      "Ulimits": null, 
      "CpuCount": 0, 
      "CpuPercent": 0, 
      "IOMaximumIOps": 0, 
      "IOMaximumBandwidth": 0 
     }, 
     "GraphDriver": { 
      "Name": "aufs", 
      "Data": null 
     }, 
     "Mounts": [ 
      { 
       "Type": "volume", 
       "Name": "c709191cb719b447772bde814f490eb2b30429c9ca7f1c62fda445af9e0b5fb9", 
       "Source": "/var/lib/docker/volumes/c709191cb719b447772bde814f490eb2b30429c9ca7f1c62fda445af9e0b5fb9/_data", 
       "Destination": "/var/lib/mysql", 
       "Driver": "local", 
       "Mode": "", 
       "RW": true, 
       "Propagation": "" 
      } 
     ], 
     "Config": { 
      "Hostname": "49cb39a4e8e5", 
      "Domainname": "", 
      "User": "", 
      "AttachStdin": false, 
      "AttachStdout": false, 
      "AttachStderr": false, 
      "ExposedPorts": { 
       "3306/tcp": {} 
      }, 
      "Tty": false, 
      "OpenStdin": false, 
      "StdinOnce": false, 
      "Env": [ 
       "MYSQL_ROOT_PASSWORD=pass", 
       "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 
       "GOSU_VERSION=1.7", 
       "MYSQL_MAJOR=5.7", 
       "MYSQL_VERSION=5.7.17-1debian8" 
      ], 
      "Cmd": [ 
       "mysqld" 
      ], 
      "ArgsEscaped": true, 
      "Image": "mysql", 
      "Volumes": { 
       "/var/lib/mysql": {} 
      }, 
      "WorkingDir": "", 
      "Entrypoint": [ 
       "docker-entrypoint.sh" 
      ], 
      "OnBuild": null, 
      "Labels": {} 
     }, 
     "NetworkSettings": { 
      "Bridge": "", 
      "SandboxID": "1f5cde48c303e649f0b675ac11f302336936c7ea0f7c1a0ea8054866c308189d", 
      "HairpinMode": false, 
      "LinkLocalIPv6Address": "", 
      "LinkLocalIPv6PrefixLen": 0, 
      "Ports": { 
       "3306/tcp": [ 
        { 
         "HostIp": "0.0.0.0", 
         "HostPort": "3307" 
        } 
       ] 
      }, 
      "SandboxKey": "/var/run/docker/netns/1f5cde48c303", 
      "SecondaryIPAddresses": null, 
      "SecondaryIPv6Addresses": null, 
      "EndpointID": "2800343c29643796d28e8f58a13a7dbf5d1a2706d26f25e27ea623a4673d4439", 
      "Gateway": "172.17.0.1", 
      "GlobalIPv6Address": "", 
      "GlobalIPv6PrefixLen": 0, 
      "IPAddress": "172.17.0.3", 
      "IPPrefixLen": 16, 
      "IPv6Gateway": "", 
      "MacAddress": "02:42:ac:11:00:03", 
      "Networks": { 
       "bridge": { 
        "IPAMConfig": null, 
        "Links": null, 
        "Aliases": null, 
        "NetworkID": "a3ec63c75685ca69af892f7047abc2c1d0955407d61423f2cff87500eedaadf3", 
        "EndpointID": "2800343c29643796d28e8f58a13a7dbf5d1a2706d26f25e27ea623a4673d4439", 
        "Gateway": "172.17.0.1", 
        "IPAddress": "172.17.0.3", 
        "IPPrefixLen": 16, 
        "IPv6Gateway": "", 
        "GlobalIPv6Address": "", 
        "GlobalIPv6PrefixLen": 0, 
        "MacAddress": "02:42:ac:11:00:03" 
       }, 
       "mynet": { 
        "IPAMConfig": {}, 
        "Links": null, 
        "Aliases": [ 
         "49cb39a4e8e5" 
        ], 
        "NetworkID": "37af7ae0184078932bbc234c1f4b15983777f566c36f7eb93e2b4b3437e460a7", 
        "EndpointID": "fd1f776954723a705edef323b63588cfc93cca7b80b15f22414b72454e14e48c", 
        "Gateway": "172.18.0.1", 
        "IPAddress": "172.18.0.2", 
        "IPPrefixLen": 16, 
        "IPv6Gateway": "", 
        "GlobalIPv6Address": "", 
        "GlobalIPv6PrefixLen": 0, 
        "MacAddress": "02:42:ac:12:00:02" 
       } 
      } 
     } 
    } 
] 

我的目標是隻獲得與網絡接口mynet相關的some-mysql容器的IP地址。如果我做

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' some-mysql 

我得到:172.17.0.3172.18.0.2:他們都是默認橋接網絡的IP地址和我的覆蓋網絡。我如何才能檢索some-mysql接口的IP地址mynet

+0

能否請您提供您的碼頭工人的版本? – Robert

+1

客戶: 版本:1.13.1 API版本:1.26 轉到版本:go1.7.5 git的承諾:092cba3 內置:星期三2月8日六時50分14秒2017年 OS /拱門:LINUX/AMD64 服務器: 版本:1.13.1 API版本:1.26(最低版本1.12) 轉到版本:go1.7.5 git的承諾:092cba3 內置:星期三2月8日6時五十分14秒2017年 OS /拱門:LINUX/AMD64 實驗:假 – pier92

回答

3

您可以指定網絡名稱,而不需要的range

docker inspect -f '{{.NetworkSettings.Networks.mynet.IPAddress}}' some-mysql 
相關問題