1. docker inspect

1.1. 描述

返回有关 Docker 对象的底层信息

Docker inspect 提供了有关由 Docker 控制的构造的详细信息。

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

1.2. 帮助

$ docker inspect --help

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

Return low-level information on Docker objects

Options:
  -f, --format string Format the output using the given Go template
  -s, --size Display total file sizes if the type is container
      --type string Return JSON for specified type

1.3. 选项

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

1.4. 示例

在大多数情况下,您可以以一种非常直接的方式从 JSON 中选择任何字段

  • 获取实例的IP地址
$ 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

1.5. 获取实例的图像名称

$ 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查找特定的端口映射,然后index0包含其中的第一个对象。然后,我们要求该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
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2022-03-13 11:28:02

results matching ""

    No results matching ""