不存在图像标签时如何查看 docker 图像层

时间:2021-04-09 16:33:48

标签: docker docker-image docker-cli

我尝试了 "docker image history" 命令的各种选项,以查看用于在本地计算机上构建图像的图像层。

我的系统上有一个未分配标签的 nginx 映像。所以 "docker images" 命令列出了我系统中的以下图像。

enter image description here

我尝试使用以下命令查找 nginx 图像的层详细信息:

docker image history nginx

但由于未指定标签名称,docker-cli 将其视为默认的“latest”标签,该标签在我的系统中不存在,并且出现以下错误:

Error response from daemon: No such image: nginx:latest

我用“none”作为标签尝试了相同的命令,但它也失败并出现以下错误:

docker image history nginx:none
Error response from daemon: No such image: nginx:none

有什么建议吗?我们如何看到没有分配标签的图像层。

3 个答案:

答案 0 :(得分:1)

尝试使用 ID 而不是带有标签的名称。

假设我有这个输出 docker images

REPOSITORY TAG      IMAGE ID       CREATED      SIZE
postgres   <none>   1f0815c1cb6e   7 weeks ago  314M

我可以使用 docker image history 并指定 ID 或 ID 的一部分足以在此上下文中识别图像。

docker image history 1f0

答案 1 :(得分:1)

docker history <your-docker-image-id>

你的情况如下:

docker history 7ce4f91ef623

答案 2 :(得分:0)

我找到了 --filter 命令的 docker images 选项,我们可以使用它来查找 悬垂/未标记 图像,如下所示:

docker images -f "dangling=true" --quiet

我们可以使用此命令列出未标记图像的图像层,如下所示:

docker image history  $(docker images -f "dangling=true" --quiet)