我想知道本地是否存在带有特定标签的 Docker 映像。如果 Docker 客户端无法本地执行此操作,我可以使用 bash 脚本。
只是为潜在的 bash 脚本提供一些提示,运行 docker images
命令的结果返回以下内容:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
rabbitmq latest e8e654c05c91 5 weeks ago 143.5 MB
busybox latest 8c2e06607696 6 weeks ago 2.433 MB
rabbitmq 3.4.4 a4fbaad9f996 11 weeks ago 131.5 MB
原文由 Johan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我通常测试
docker images -q
的结果(如在 此脚本 中):但因为
docker images
只需要REPOSITORY
作为参数,你需要在标签上 grep,而不使用-q
.docker images
现在使用标签(docker 1.8+)[REPOSITORY[:TAG]]
下面提到的另一种方法是使用 docker inspect 。
但是对于 docker 17+,图像的语法是:
docker image inspect
(在不存在的图像上, 退出状态将为 non-0 )正如 iTayb 在 评论 中指出的那样:
docker images -q
方法在有很多图像的机器上会变得非常慢。在 6,500 张图像的机器上运行需要 44 秒。docker image inspect
立即返回。正如 亨利布莱思 在评论中指出的那样: