'docker inspect -f .' 是做什么的?

What does 'docker inspect -f .' do?

我尝试了以下方法:

$ docker inspect -f . ubuntu:latest
.
$ docker inspect -f . hello-world
.

我读到检查 returns 有关容器或映像的基本信息。但是当我用一个点执行上面的命令时,它 returns 我一个点。这是什么意思?

我猜这应该是:

$ docker inspect -f '{{ . }}' ubuntu:latest

这将产生对象格式的输出,例如:

{sha256:2fa927b5cdd31cdec0027ff4f45ef4343795c7a2d19a9af4f32425132a222330 [ubuntu:latest] []   2016-05-27T14:15:02.359284074Z b8bd6a8e8874a87f626871ce370f4775bdf598865637082da2949ee0f4786432 0xc4201f8280 1.9.1  0xc4201f8500 amd64 linux  121989688 121989688 {aufs map[]} {layers [sha256:9436069b92a3ec23351313d6decc5fba2ce1cd52aac77dd8da3b03b3dfcb5382 sha256:19429b698a2283bfaece7f590e438662e2078351a9ad077c6d1f7fb12f8cd08d sha256:82b57dbc5385a2a0edd94dfc86f9e4d75487cce30250fec94147abab0397f2b8 sha256:737f40e80b7ff641f24b759d64f7ec489be0ef4e0c16a9780b795dbe972b38d2 sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef] }}

当你定义一个没有括号的格式时,它不再是要打印的变量,而是要输出的文字字符 .,这就是你所看到的。请注意,可以通过根本不格式化输出来接收用户可读的输出,例如:

$ docker inspect ubuntu:latest

如果您想要从该输出中获取特定字段,则格式化以提取该特定字段很有用,例如:

$ docker inspect -f '{{ .Created }}'  ubuntu:latest
2016-05-27T14:15:02.359284074Z

我不确定您认为圆点应该做什么,但您使用的是 'format' 选项,格式为 .。它被视为文字字符串。

如果您提供任何其他格式,例如format xx,你会得到那个字符串。

比较:

docker inspect redis:2.6 -f xx
xx