7.2.11 查看容器详情
在前面的示例当中,读者可能发现当运行 docker container run
命令的时候,并没有指定容器中的具体应用。但是容器却启动了一个简单的Web服务。这是如何发生的?
当构建Docker镜像的时候,可以通过嵌入指令来列出希望容器运行时启动的默认应用。如果运行 docker image inspect
命令来查看运行容器时使用的镜像,就能看到容器启动时将要运行的应用列表了。
$ docker image inspect nigelpoulton/pluralsight-docker-ci
[
{
"Id": "sha256:07e574331ce3768f30305519...49214bf3020ee69bba1",
"RepoTags": [
"nigelpoulton/pluralsight-docker-ci:latest"
<Snip>
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) CMD [\"/bin/sh\" \"-c\" \"cd /src \u0026\u0026 node \
.app.js\"]"
],
<Snip>
为了方便阅读,仅截取输出内容中我们感兴趣的部分。
Cmd
一项中展示了容器将会执行的命令或应用,除非在启动的时候读者指定另外的应用。如果去掉示例脚本中的转义字符,可以得到这样的命令: /bin/sh -c "cd /src && node ./app.js
。这是基于该镜像的容器会默认运行的应用。
在构建镜像时指定默认命令是一种很普遍的做法,因为这样可以简化容器的启动。这也为镜像指定了默认的行为,并且从侧面阐述了镜像的用途——可以通过Inspect镜像的方式来了解所要运行的应用。
本章示例到此为止。接下来了解一种快速清理系统的方式。