简单说明
一般我们使用 docker images
显示的 ID 是镜像 ID,也可以通过 docker images --no-trunc
来显示完整的 ID,它是可以用来启动容器的
其一
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python3-rpa-crm 2024070501 6cda696a98ad 3 weeks ago 2.48GB
harbor.succez.com/sz/python3-rpa-crm 2024070501 6cda696a98ad 3 weeks ago 2.48GB
python3-rpa-os-common 2024070501 e4f1cbc709c9 3 weeks ago 2.48GB
其二
[root@localhost ~]# docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
python3-rpa-crm 2024070501 sha256:6cda696a98ad4fefa3c429550341cd3cc9ad94573a3712fb15223cdcfe7a4d56 3 weeks ago 2.48GB
harbor.succez.com/sz/python3-rpa-crm 2024070501 sha256:6cda696a98ad4fefa3c429550341cd3cc9ad94573a3712fb15223cdcfe7a4d56 3 weeks ago 2.48GB
python3-rpa-os-common 2024070501 sha256:e4f1cbc709c9a4f2cbe8ab329ef5fa32a37745b938883bbd27555b7d003fc471 3 weeks ago 2.48GB
但如果用 docker inspect CONTAINER_ID
查看容器的详细信息,发现启动的镜像通常与 IMAGE ID
不一致,需要这样看是因为经常指定镜像的 latest
标签,会出现此镜像本地存在但启动容器报错无此镜像,所以需要通过查看容器明细来确定使用的哪个镜像。
而 docker inspect CONTAINER_ID
实际上显示的镜像的摘要,所以不管使用 docker images
还是 docker images --no-trunc
都会找不到此镜像,需要使用 --digtests
参数来显示镜像的摘要信息
其三
[root@localhost ~]# docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
python3-rpa-crm 2024070501 <none> 6cda696a98ad 3 weeks ago 2.48GB
harbor.succez.com/sz/python3-rpa-crm 2024070501 sha256:c7e46b2080146cfc5870f6b1580faa2a3c67e235537e988921ba2c7348a11f9b 6cda696a98ad 3 weeks ago 2.48GB
python3-rpa-os-common 2024070501 <none> e4f1cbc709c9 3 weeks ago 2.48GB
此时镜像ID仍然是有的,前面多了一列 DIGEST,此摘要也是可以用来启动容器的。
有一种情况是如果使用 latest
标签,即使本地存在符合名称的镜像,仍然可能会去拉取最新的 latest
镜像,所以如果我们想启动此镜像,可以指定镜像名+摘要的方式即可
评论