如何在Docker中删除多个镜像?

3

我创建了许多图片,但不知道如何高效地删除它们。

有人知道一个好的命令可以聪明地删除这些图片吗?

非常感谢!


这个问题已经在这里这里有了全面的答案,其中一些在下面被重申了。 - cam
3个回答

10
你可以尝试运行 docker rmi -f $(docker images -q) 说明: docker images -q将列出所有镜像的id。然后将所有镜像id传递给docker rmi -f

1
谢谢!你的回答正是我想要的! 我只想删除图片但保留我的容器~ - Ching-Hang Hsu
小心!你需要添加“”来包装Docker镜像 -q,就像这样:docker rmi -f docker images -q`。 - Peter Lee
在 Mac 上,您会收到以下信息:❯ 未知的速记标志:-q 中的 'q' 请参阅 'docker rmi --help'。 - Peter Rosemann

8
以下命令将删除所有未使用的镜像和停止的容器:
$ docker system prune -a

Source


4

首先,您需要删除/停止使用您要删除的镜像的运行容器。

  • 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 环境,删除所有容器和镜像。

N.B:有关 Docker 常用命令,请参见:Docker 基本命令


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接