当前位置:   article > 正文

docker inspect 命令详解_docker inspect 详解

docker inspect 详解

Docker inspect提供了Docker控制的构造的详细信息,默认情况下,docker inspect将在JSON数组中呈现结果。

1.Options

–format , -f指定输出格式,返回执行指定定的模板。
–size , -s此选项仅适用于容器。容器不一定要运行,它也适用于停止的容器。显示总文件大小
–type将检查限制为特定类型的对象,可以使用–type选项。

2.示例

2.1 -f

官方给的是Go语言模板,这个语言我不是太熟悉,有兴趣的小伙伴可以自己去试试,这里我只解释下官方提供的命令
a.获取一个实例的 IP 地址:

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_ID
  • 1

rangeend是go模板语法,用于循环迭代一个集合或数组并执行特定操作。
.NetworkSettings.Networks 表示容器的网络设置对象中的 Networks 字段,包含一个或多个网络的信息。
{{.IPAddress}}:在迭代中,每个网络对象都会被传递到这个部分。在每次迭代中,这个部分会获取当前网络的 IP 地址,并将其输出。
b.获取一个实例的 MAC 地址:

docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
  • 1

.NetworkSettings.Networks这个取值的来源是在docker inspect命令输出的json字符串中,将输出的json放到json.cn 上查看就明白了,如下图
图片.png
图片.png
c.获取一个实例的日志路径:

docker inspect --format='{{.LogPath}}' $INSTANCE_ID
  • 1

d.获取一个实例的镜像名称:

docker inspect --format='{{.Config.Image}}' $INSTANCE_ID
  • 1

e.列出所有端口绑定:

docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
  • 1

f.查找特定端口映射:

docker inspect --format='{{(index (index .NetworkSettings.Ports "8787/tcp") 0).HostPort}}' $INSTANCE_ID
  • 1

g.获取一个部分的 JSON 格式:

docker inspect --format='{{json .Config}}' $INSTANCE_ID
  • 1

如果你想获取其他部分的也可以直接改,比如Labels

docker inspect --format='{{json .Config.Labels}}' $INSTANCE_ID
  • 1

2.2 -s

docker inspect --size mycontainer
  • 1

图片.png
这个命令会输出两个字段:

  • SizeRootFs: 容器中所有文件的总大小,以字节为单位。
  • SizeRw: 在容器中创建或更改的文件的大小,与它的镜像相比,以字节为单位。
docker inspect --size <容器id>  -f '{{ .SizeRootFs }}'
  • 1

图片.png

2.3 --type

docker inspect --type=volume myvolume
  • 1

使用以下命令查看所有卷

docker volume ls -q
  • 1

Ending

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/1016166
推荐阅读
相关标签
  

闽ICP备14008679号