如何解决如何删除 docker 镜像?
我的项目包含一个用于构建映像的 Dockerfile。我对该 Dockerfile 进行了修改,想看看它是否有效。所以我关闭了我的程序并使用 docker image ls -a
在 powershell 中列出了所有 docker 图像。我使用 docker rmi -f $(docker images -a -q)
和 docker image prune -a
删除了所有未使用的图像。
但我的图片一直没有被删除,而只是“未标记”:
Untagged: my_image:latest
Untagged: my_image@sha256:16eb92a476be0...
在尝试删除映像之前,所有容器都已停止并删除。
当我重新启动应用程序以构建新映像时,旧映像不断被使用:
> docker image ls -a
REPOSITORY TAG IMAGE ID CREATED
/my_image latest 0d79904a74b0 2 months ago
我如何实际删除旧图像以便我的应用程序可以构建新图像?
解决方法
首先,您需要删除/停止正在使用您的镜像的正在运行的容器(您要删除哪个)。
-
docker ps -a
:查看机器中所有正在运行的容器。 -
docker stop <container_id>
:停止正在运行的容器。 -
docker rm <container_id>
:移除/删除 docker 容器(仅当它停止时)。 -
docker image ls
:查看所有可用图像及其标签、图像 ID、创建时间和大小的列表。 -
docker rmi <image_id>
:删除特定图像。 -
delete rmi -f <image_id>
:强行删除docker镜像 -
docker rm -f (docker ps -a | awk '{print$1}')
:删除机器中所有可用的 docker 容器 -
docker image rm <image_name>
:删除特定图像
要删除映像,您必须删除/停止所有正在使用它的容器。
-
docker system prune -a
:清理 docker 环境,移除所有容器和镜像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。