赞
踩
本文版本:Docker version 1.12.6, build a0eb31f137e490718a8ba85eb5117c9e1b735a41
docker inspect : 获取容器/镜像的元数据。
语法
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
容器ID或镜像ID
OPTIONS说明:
-f :指定返回值的模板文件。
-f 用法详见参见docker inspect -f 详解
-s :显示总的文件大小。
–type :为指定类型返回JSON。
获取镜像mysql:5.6的元信息。
[ { "Id": "sha256:3ed1080b793fc4a10cab741a04ce090caf1ad2932cbcc679b6587624af9f6157", "RepoTags": [ "docker.artnj.test.com.cn/cci/mysql:5.6" ], "RepoDigests": [ "docker.artnj.test.com.cn/cci/mysql@sha256:64d700fe4d28bad980507ff893f341702c2273d0a42ea4da461163930276b09b" ], "Parent": "", "Comment": "", "Created": "2019-06-10T23:46:27.411001795Z", "Container": "9c48ed588eb1d0e8a88c36adec31d76b4d683cb522fb20d9582f4c42fcab8e0d", "ContainerConfig": { "Hostname": "9c48ed588eb1", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "3306/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.7", "MYSQL_MAJOR=5.6", "MYSQL_VERSION=5.6.44-1debian9" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"mysqld\"]" ], "ArgsEscaped": true, "Image": "sha256:b08878951f5677e5cdc610df30e5901a8238c92e097f5ca646be18c145d6cdda", "Volumes": { "/var/lib/mysql": {} }, "WorkingDir": "", "Entrypoint": [ "docker-entrypoint.sh" ], "OnBuild": null, "Labels": {} }, "DockerVersion": "18.06.1-ce", "Author": "", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "3306/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.7", "MYSQL_MAJOR=5.6", "MYSQL_VERSION=5.6.44-1debian9" ], "Cmd": [ "mysqld" ], "ArgsEscaped": true, "Image": "sha256:b08878951f5677e5cdc610df30e5901a8238c92e097f5ca646be18c145d6cdda", "Volumes": { "/var/lib/mysql": {} }, "WorkingDir": "", "Entrypoint": [ "docker-entrypoint.sh" ], "OnBuild": null, "Labels": null }, "Architecture": "amd64", "Os": "linux", "Size": 256398124, "VirtualSize": 256398124, "GraphDriver": { "Name": "overlay2", "Data": { "LowerDir": "/home/emsdata/docker/overlay2/f0749d265dc59daae49ee461f15e677a232531eda0c50d7c3dbca1ce22873ccb/diff:/home/emsdata/docker/overlay2/fa4ebda97ab3de379bac349bf76aa736aaa3f68d4158a7eb93f421c69fe1191f/diff:/home/emsdata/docker/overlay2/699958532b4d00264d3712df127966136ec76ee8e83ed09233656c4cdc619798/diff:/home/emsdata/docker/overlay2/74b44d625c12046dde5eb1ee5e5d79dcb919065c8a0de3cee592593cbe472230/diff:/home/emsdata/docker/overlay2/3086261bb85fd60a59aca1f3609712c682330606ce986dfaa1482642cc7acd33/diff:/home/emsdata/docker/overlay2/fa4e61448191900bebfba564d7692e295dfdfe48b6cdfa2adb742ac4a9ec0349/diff:/home/emsdata/docker/overlay2/9c06f6f60cc27bbb06daf14104ff214bb88179094c79115ab3a5a0a00fb501fe/diff:/home/emsdata/docker/overlay2/8239ed480b96ec949f537381531112fd46566eb87a57d5a0e074cf6f26583e2b/diff:/home/emsdata/docker/overlay2/ab4b1a2ea4a0f7f43fd91cdea2a72d596cd14e3763bc15a9adcb0d6e99a55377/diff:/home/emsdata/docker/overlay2/7bd5dbda96f35e74962f1757b0e035c3b17d86b352d3e4afe3a78a7ef421d3be/diff", "MergedDir": "/home/emsdata/docker/overlay2/2986c967aedf24b23fefbe292ddd2fc5eaf1abac146ffdd180765eac0fef20ad/merged", "UpperDir": "/home/emsdata/docker/overlay2/2986c967aedf24b23fefbe292ddd2fc5eaf1abac146ffdd180765eac0fef20ad/diff", "WorkDir": "/home/emsdata/docker/overlay2/2986c967aedf24b23fefbe292ddd2fc5eaf1abac146ffdd180765eac0fef20ad/work" } }, "RootFS": { "Type": "layers", "Layers": [ "sha256:cf5b3c6798f77b1f78bf4e297b27cfa5b6caa982f04caeb5de7d13c255fd7a1e", "sha256:b686f68f8333dcd3c61717b236ead61e76623eca5ca52310c4efba5632aef6fc", "sha256:b983f63f4c271ebf11edaa04de105c35ceddf1cbe152db47dc7f871da53454db", "sha256:cf1d44aef62da0cec4ca16fb23d62f935c542f859c88704288bd4a8da0a9454f", "sha256:17d2cfdb93fc387257be73e4517d0fbb944c420894df66807899658e510ec7f1", "sha256:c70e6a41f98cad06754f64519b0798fcccd55fb579b644f2c39d37d7cdcfa2fc", "sha256:1e5cc0d1c33d8a28720dfe93659d8a8e10978774eb6fa5f2f7ae63a05d98b721", "sha256:999b5130f4e92686f78f1b105efee9a8a1cdaea3e7551d9d40374b81ae60cd81", "sha256:a5fcf7bb9e94aef821e8769f54e573019bb3a34d3c8efc399c5b3eaa64568f23", "sha256:1086cb31b2c49225b0804a232806389d4c0dfeb0c5cd9bb6e79e208c582fc900", "sha256:3102b0030161820328562a99291bfd43368fd6fa67301ecf2f69c13c05561035" ] } } ]
获取镜像mysql:5.6 实例的元信息。
runoob@runoob:~$ docker inspect mysqlId [ { "Id": "d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423", "Created": "2019-12-21T08:06:52.419384874Z", "Path": "docker-entrypoint.sh", "Args": [ "mysqld" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 31054, "ExitCode": 0, "Error": "", "StartedAt": "2019-12-21T08:06:54.372985158Z", "FinishedAt": "0001-01-01T00:00:00Z" }, "Image": "sha256:3ed1080b793fc4a10cab741a04ce090caf1ad2932cbcc679b6587624af9f6157", "ResolvConfPath": "/home/emsdata/docker/containers/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423/resolv.conf", "HostnamePath": "/home/emsdata/docker/containers/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423/hostname", "HostsPath": "/home/emsdata/docker/containers/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423/hosts", "LogPath": "/home/emsdata/docker/containers/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423-json.log", "Name": "/backstabbing_carson", "RestartCount": 0, "Driver": "overlay2", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "", "ExecIDs": null, "HostConfig": { "Binds": null, "ContainerIDFile": "", "LogConfig": { "Type": "json-file", "Config": { "max-file": "5", "max-size": "10M" } }, "NetworkMode": "default", "PortBindings": { "3306/tcp": [ { "HostIp": "", "HostPort": "3306" } ] }, "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, "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": "overlay2", "Data": { "LowerDir": "/home/emsdata/docker/overlay2/cf993cdf788bc4b1d8b05514e9affb5112066ad40a1fcb0d04f39c4da4e501a5-init/diff:/home/emsdata/docker/overlay2/2986c967aedf24b23fefbe292ddd2fc5eaf1abac146ffdd180765eac0fef20ad/diff:/home/emsdata/docker/overlay2/f0749d265dc59daae49ee461f15e677a232531eda0c50d7c3dbca1ce22873ccb/diff:/home/emsdata/docker/overlay2/fa4ebda97ab3de379bac349bf76aa736aaa3f68d4158a7eb93f421c69fe1191f/diff:/home/emsdata/docker/overlay2/699958532b4d00264d3712df127966136ec76ee8e83ed09233656c4cdc619798/diff:/home/emsdata/docker/overlay2/74b44d625c12046dde5eb1ee5e5d79dcb919065c8a0de3cee592593cbe472230/diff:/home/emsdata/docker/overlay2/3086261bb85fd60a59aca1f3609712c682330606ce986dfaa1482642cc7acd33/diff:/home/emsdata/docker/overlay2/fa4e61448191900bebfba564d7692e295dfdfe48b6cdfa2adb742ac4a9ec0349/diff:/home/emsdata/docker/overlay2/9c06f6f60cc27bbb06daf14104ff214bb88179094c79115ab3a5a0a00fb501fe/diff:/home/emsdata/docker/overlay2/8239ed480b96ec949f537381531112fd46566eb87a57d5a0e074cf6f26583e2b/diff:/home/emsdata/docker/overlay2/ab4b1a2ea4a0f7f43fd91cdea2a72d596cd14e3763bc15a9adcb0d6e99a55377/diff:/home/emsdata/docker/overlay2/7bd5dbda96f35e74962f1757b0e035c3b17d86b352d3e4afe3a78a7ef421d3be/diff", "MergedDir": "/home/emsdata/docker/overlay2/cf993cdf788bc4b1d8b05514e9affb5112066ad40a1fcb0d04f39c4da4e501a5/merged", "UpperDir": "/home/emsdata/docker/overlay2/cf993cdf788bc4b1d8b05514e9affb5112066ad40a1fcb0d04f39c4da4e501a5/diff", "WorkDir": "/home/emsdata/docker/overlay2/cf993cdf788bc4b1d8b05514e9affb5112066ad40a1fcb0d04f39c4da4e501a5/work" } }, "Mounts": [ { "Type": "volume", "Name": "af1d7290422301204b8bca43542e1a26a6241e8d0761f04e34e8a0bb5357021c", "Source": "/home/emsdata/docker/volumes/af1d7290422301204b8bca43542e1a26a6241e8d0761f04e34e8a0bb5357021c/_data", "Destination": "/var/lib/mysql", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "d2a1eca7fba4", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "3306/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "MYSQL_ROOT_PASSWORD=123456", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.7", "MYSQL_MAJOR=5.6", "MYSQL_VERSION=5.6.44-1debian9" ], "Cmd": [ "mysqld" ], "Image": "docker.artnj.test.com.cn/cci/mysql:5.6", "Volumes": { "/var/lib/mysql": {} }, "WorkingDir": "", "Entrypoint": [ "docker-entrypoint.sh" ], "OnBuild": null, "Labels": {} }, "NetworkSettings": { "Bridge": "", "SandboxID": "333d5dfae74da6f121e2b763c56ccc6005abfbf58f2bb1657494b0d94787244f", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "3306/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "3306" } ] }, "SandboxKey": "/var/run/docker/netns/333d5dfae74d", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "824a6f6acb559fcc39639e67384dcd628647b6609c103cd27b74cf0d59dd9695", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.9", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:09", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "c2585d639e79d77290705a47ff4e223bbdbdd36b452c24aedd37e1f7db3396ac", "EndpointID": "824a6f6acb559fcc39639e67384dcd628647b6609c103cd27b74cf0d59dd9695", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.9", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:09" } } } } ]
过滤元信息例子:
IP address:
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_ID
172.17.0.9
MAC address:
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
02:42:ac:11:00:09
log 日志路径
$ docker inspect --format='{{.LogPath}}' $INSTANCE_ID
/home/emsdata/docker/containers/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423/d2a1eca7fba4e80c2c3e373bc6746a15475936e72b735f1d71bb776282940423-json.log
image 名称:
$ docker inspect --format='{{.Config.Image}}' $INSTANCE_ID
docker.artnj.test.com.cn/cci/mysql:5.6
列出所有端口映射
You can loop over arrays and maps in the results to produce simple text output:
$ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
3306/tcp -> 3306
Find a specific port mapping 有问题
The .Field syntax doesn’t work when the field name begins with a number, but the template language’s index function does. The .NetworkSettings.Ports section contains a map of the internal port mappings to a list of external address/port objects. To grab just the numeric public port, you use index to find the specific port map, and then index 0 contains the first object inside of that. Then we ask for the HostPort field to get the public address.
$ docker inspect --format='{{(index (index .NetworkSettings.Ports "8787/tcp") 0).HostPort}}' $INSTANCE_ID
失败,报Template parsing error: template: :1:3: executing "" at <index (index .Networ...>: error calling index: index of untyped nil
获取 JSON 格式输出
默认情况下,获取一个字段时,若是字段,则仅返回的值,不便查看;json格式可以指定,方便查看
$ docker inspect --format='{{json .Config}}' $INSTANCE_ID
{"Hostname":"d2a1eca7fba4","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"3306/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["MYSQL_ROOT_PASSWORD=123456","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.7","MYSQL_MAJOR=5.6","MYSQL_VERSION=5.6.44-1debian9"],"Cmd":["mysqld"],"Image":"docker.artnj.zte.com.cn/cci/mysql:5.6","Volumes":{"/var/lib/mysql":{}},"WorkingDir":"","Entrypoint":["docker-entrypoint.sh"],"OnBuild":null,"Labels":{}}
不带json时
$ docker inspect --format='{{ .Config}}' d2a1eca7fba4
{d2a1eca7fba4 false false false map[3306/tcp:{}] false false false [MYSQL_ROOT_PASSWORD=123456 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin GOSU_VERSION=1.7 MYSQL_MAJOR=5.6 MYSQL_VERSION=5.6.44-1debian9] [mysqld] <nil> false docker.artnj.zte.com.cn/cci/mysql:5.6 map[/var/lib/mysql:{}] [docker-entrypoint.sh] false [] map[] <nil> []}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。