首页 > 解决方案 > 是否有 docker 图像标记而不依赖于图像 ID

问题描述

我有带有多个标记的 docker 环境。

像这样:

image01:dev - > image01:staging - > image01:Prod
image02:dev - > image01:staging - > image01:Prod

在这种情况下,我必须删除一个标记环境,因为它们使用相同的图像 ID。如何使用标记更改图像 ID?

echo "Docker Compose Down"
docker-compose down
echo "Docker Compose Down ... Complete!"

echo "Docker Images Remove"
docker rmi -f $(docker images -q)
echo "Docker Images Remove ... Done!"

我收到这些错误:

来自守护进程的错误响应:冲突:无法删除 3637565c5b84(无法强制)-
运行容器 67692aab8b26 正在使用映像
来自守护进程的错误响应:冲突:无法删除 8289f92814de(无法强制)-
运行容器 b06fb2e8b8a8 正在使用映像
来自守护进程的错误响应:冲突:无法删除 db95989f3c68(无法强制)- 运行容器 3752ae226b9e 正在使用映像
来自守护进程的错误响应:冲突:无法删除 6f2a973fcb00(无法强制)- 运行容器 e0b92afc05c2 正在使用映像

标签: docker

解决方案


在删除之前,您需要查看是否有某个状态的容器当前正在使用这些图像。

docker ps -a 

您可以看到未完全停止docker rm的容器并使用容器 ID 创建,然后在完成该过程后尝试再次删除图像。


推荐阅读