查看镜像信息

查看镜像的命令通常有:images、historyinspect,info等子命令

images

列出系统已下载好的所有镜像基础信息
image.png
**REPOSITORY**:表示来自于哪个仓库。
**TAG**:表示镜像的标签信息,标签只是标记,并不能标识镜像内容。
**IMAGE ID**:镜像ID,镜像的唯一标识,如果两个镜像ID相同,则说明它们实际上指向了同一个镜像,只是具有不同标签名而已。
**CREATED**:表示镜像最后的更新时间。
**VIRTUAL SIZE**:表示镜像大小,好的镜像往往体积会较小。

其他可选命令:

  1. -a, --all Show all images (default hides intermediate images)
  2. --digests Show digests
  3. -f, --filter filter Filter output based on conditions provided
  4. --format string Pretty-print images using a Go template
  5. --no-trunc Don't truncate output
  6. -q, --quiet Only show image IDs

inspect

获取镜像的详细信息,包括制作者、适应架构、各层的数字摘要等内容

语法如下:

  1. docker inspect [imageName]

image.png
image.png

  1. docker inspect gitlab/gitlab-runner

输出结果

  1. [
  2. {
  3. "Id": "sha256:4a05b6a7fca0ccf20f17f27e8de0050265efc9f1ccb046c22b5fda79f196e5d3",
  4. "RepoTags": [
  5. "gitlab/gitlab-runner:latest"
  6. ],
  7. "RepoDigests": [
  8. "gitlab/gitlab-runner@sha256:885f5c60a3788453add33a57e1b1690dca4f1e27e84fa1c26976f13bb6949599"
  9. ],
  10. "Parent": "",
  11. "Comment": "buildkit.dockerfile.v0",
  12. "Created": "2021-11-21T17:44:24.533835743Z",
  13. "Container": "",
  14. "ContainerConfig": {
  15. "Hostname": "",
  16. "Domainname": "",
  17. "User": "",
  18. "AttachStdin": false,
  19. "AttachStdout": false,
  20. "AttachStderr": false,
  21. "Tty": false,
  22. "OpenStdin": false,
  23. "StdinOnce": false,
  24. "Env": null,
  25. "Cmd": null,
  26. "Image": "",
  27. "Volumes": null,
  28. "WorkingDir": "",
  29. "Entrypoint": null,
  30. "OnBuild": null,
  31. "Labels": null
  32. },
  33. "DockerVersion": "",
  34. "Author": "",
  35. "Config": {
  36. "Hostname": "",
  37. "Domainname": "",
  38. "User": "",
  39. "AttachStdin": false,
  40. "AttachStdout": false,
  41. "AttachStderr": false,
  42. "Tty": false,
  43. "OpenStdin": false,
  44. "StdinOnce": false,
  45. "Env": [
  46. "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  47. "DEBIAN_FRONTEND=noninteractive"
  48. ],
  49. "Cmd": [
  50. "run",
  51. "--user=gitlab-runner",
  52. "--working-directory=/home/gitlab-runner"
  53. ],
  54. "ArgsEscaped": true,
  55. "Image": "",
  56. "Volumes": {
  57. "/etc/gitlab-runner": {},
  58. "/home/gitlab-runner": {}
  59. },
  60. "WorkingDir": "",
  61. "Entrypoint": [
  62. "/usr/bin/dumb-init",
  63. "/entrypoint"
  64. ],
  65. "OnBuild": null,
  66. "Labels": null,
  67. "StopSignal": "SIGQUIT"
  68. },
  69. "Architecture": "amd64",
  70. "Os": "linux",
  71. "Size": 2014374536,
  72. "VirtualSize": 2014374536,
  73. "GraphDriver": {
  74. "Data": {
  75. "LowerDir": "/var/lib/docker/overlay2/e045b0d7cede39f731b84d105f588d1600fe8ac4da42a42f3964d9484ed81a6f/diff:/var/lib/docker/overlay2/5ab1dcf2c94b178717d9148884438d8a7cfb79d47f995c898a4af043ad4cb44d/diff:/var/lib/docker/overlay2/bcb1539f1156a1866c1f667c592d74991bfe844ee5e94458ef7462153f7cbc9c/diff:/var/lib/docker/overlay2/543257feb8c81525eafb3d3fea19fad76b5acd51635c88871cc724a9bf356ebd/diff:/var/lib/docker/overlay2/13718e59b573721c362fc8f9ed7fe4ee55490b0883c764fe25193f753a00756c/diff",
  76. "MergedDir": "/var/lib/docker/overlay2/e7816f7523b9d4d5ad834ff25be1fa12d1a2e7488a271dfc7322ee1bd3e4c192/merged",
  77. "UpperDir": "/var/lib/docker/overlay2/e7816f7523b9d4d5ad834ff25be1fa12d1a2e7488a271dfc7322ee1bd3e4c192/diff",
  78. "WorkDir": "/var/lib/docker/overlay2/e7816f7523b9d4d5ad834ff25be1fa12d1a2e7488a271dfc7322ee1bd3e4c192/work"
  79. },
  80. "Name": "overlay2"
  81. },
  82. "RootFS": {
  83. "Type": "layers",
  84. "Layers": [
  85. "sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b",
  86. "sha256:cb42c96bf5a2978289ed421a6fa0ada6d7d134d75f1fccaceb79199f728a5e1c",
  87. "sha256:46529c561e988adf92a39892f06fece04866a029a73cfcc7fd0142c82901c77d",
  88. "sha256:80b981c4da2e54fc0fd00df83d9f3b2a48902e6175cfccecafc43392dd6873db",
  89. "sha256:7e7650a4f42fdbd05e8d99a3c24ec8c5f7ab6eb9f3b8ae28ad63e24c81313618",
  90. "sha256:439f627256739a2bf2a47b1facedfbbd0b30df71e3493b2a8b5c16af50bc6ba7"
  91. ]
  92. },
  93. "Metadata": {
  94. "LastTagTime": "0001-01-01T00:00:00Z"
  95. }
  96. }
  97. ]

上面返回的是一个JSON格式的消息,如果只要其中某一项的内容时,可以使用-f来指定,语法格式

  1. docker insepect -f {{".项名(keyName)"}} 镜像名

如我想查容器Id

  1. [root@Vue ~]# docker inspect -f {{".Id"}} gitlab/gitlab-runner
  2. >>> sha256:4a05b6a7fca0ccf20f17f27e8de0050265efc9f1ccb046c22b5fda79f196e5d3

更为详细的 inspect命令其它操作
https://blog.csdn.net/yuelai_217/article/details/125266030

history

查看镜像历史
Docker的镜像文件是由多个层组成,那么我们怎么才知道各层的内容具体是什么呢?
因此可以使用history命令,该命令将列出各层的创建信息。
命令:

  1. docker history [imageName]

示例:

  1. docker history gitlab/gitlab-runner

image.png
这个时候发现 CREATED BY 中显示的命令过长的话会被隐藏此时我们可以使用—no-trunc 选项来输出完整命令。
语法:

  1. docker history gitlab/gitlab-runner --no-trunc

image.png

其他可选参数:

  1. --format string Pretty-print images using a Go template
  2. -H, --human Print sizes and dates in human readable format (default true)
  3. --no-trunc Don't truncate output
  4. -q, --quiet Only show image IDs

查看Docker版本

  1. docker -v
  2. docker --version
  3. docker version

查看Docker运行相关信息

  1. docker info