docker inspect
docker inspect
描述
返回 Docker 对象的低级信息。
用法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
选项
名称,简写 | 默认 | 描述 |
---|---|---|
--format, -f | | 使用给定的Go模板格式化输出 |
--size, -s | false | 如果类型是容器,则显示总文件大小 |
--type | | 返回指定类型的JSON |
父命令
命令 | 描述 |
---|---|
docker | Docker 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