如何删除docker张图片?

How to delete a docker image?

我的项目包含一个用于构建映像的 Dockerfile。我已经对该 Dockerfile 进行了修改,想看看它是否有效。所以我关闭了我的程序并使用 docker image ls -a 在 powershell 中列出了所有 docker 个图像。我使用 docker rmi -f $(docker images -a -q)docker image prune -a.

删除了所有未使用的图像

但是我的图片 没有 被删除,只是 'untagged':

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

我如何实际删除旧映像以便我的应用程序可以构建新映像?

首先,您需要 delete/stop 正在使用您的图像的 运行 容器(您要删除哪个容器)。

  • docker ps -a:查看您机器中的所有 运行 个容器。
  • docker stop <container_id>:停止 运行 容器。
  • docker rm <container_id>:到 remove/delete 一个 docker 容器(仅当它停止时)。
  • docker image ls:查看所有可用图像及其标签、图像 ID、创建时间和大小的列表。
  • docker rmi <image_id>: 删除特定图像。
  • docker rmi -f <image_id>: 强制删除docker图片
  • docker rm -f (docker ps -a | awk '{print}'):删除机器中可用的所有 docker 容器
  • docker image rm <image_name>: 删除特定图片

要删除图像,您必须 remove/stop 所有正在使用它的容器。

  • docker system prune -a:清理docker环境,移除所有容器和镜像。