在线文档教程
Docker 17
引擎: CLI | Engine: CLI

docker inspect

docker inspect

描述

返回 Docker 对象的低级信息。

用法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

选项

名称,简写默认描述
--format, -f使用给定的Go模板格式化输出
--size, -sfalse如果类型是容器,则显示总文件大小
--type返回指定类型的JSON

父命令

命令描述
dockerDocker CLI的基本命令。

扩展描述

ker检查提供了由Docker控制的构造的详细信息。

默认情况下,docker inspect会将结果呈现在JSON数组中。

实例

获取实例的 IP 地址

在大多数情况下,您可以以相当简单的方式从 JSON 中选择任何字段。

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

获取实例的 MAC 地址

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

获取实例的日志路径

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

获取实例的图像名称

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

列出所有端口绑定

可以循环遍历结果中的数组和映射以生成简单的文本输出:

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

查找特定的端口映射

.Field当字段名称以数字开头,但模板语言的语法不工作index的功能一样。该.NetworkSettings.Ports部分包含内部端口映射到外部地址/端口对象列表的映射。要抓取数字公共端口,您可以使用它index来查找特定端口映射,然后在index其中包含第一个对象。然后我们要求HostPort现场获得公开地址。

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

获取 JSON 格式的分段

如果您请求一个本身是包含其他字段的结构的字段,默认情况下,您将得到内部值的 Go 样式转储。Docker 添加了一个模板函数,json,它可以应用于以 JSON 格式获得结果。

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