如何删除所有 Docker 镜像

如果您需要一个全面的开源容器平台来在应用程序和基础设施之间建立独立性,Docker 是您最安全的选择。如果您有机会使用它,您就已经知道它的功能和易用性

如何删除所有 Docker 镜像

大量的云和 IT 公司发现它非常有用,它的流行绝对是当之无愧的。

尽管如此,这并不能使它完美。证据可以从移除镜像、卷、容器和网络所带来的限制中看出。尽管这些命令可用,但它们并不像用户希望的那样全面。

在这里,您将看到用户遇到的主要问题以及解决方案。您将学习如何以简单的方式删除图像和容器。

问题

容器技术提供了一种可视化操作系统的方法。它允许将应用程序与运行它所需的所有内容打包在一起,从而使其独立于操作系统运行。

容器映像是独立的可执行应用程序包,其中包含应用程序正常运行所需的一切。每个映像中都包含运行时、代码、配置以及系统工具和库。

当您使用 Docker 时,这些图像会累积。随着时间的推移,大量未使用的镜像、数据量和容器堆积,形成拥挤的 Docker 环境。发生这种情况时,有必要刷新环境,以便平台正常工作。

有多个命令可以实现这一点,所以让我们来看看整理 Docker 环境的主要方法。

删除 Docker 镜像

在删除不需要的图像之前,您需要将它们与有用的图像区分开来。这可以通过使用图像管理命令列出系统包含的所有图像来轻松完成。

这是它的样子:

$ docker image #列出最近创建的镜像

或者

$ docker image -a #列出所有图像

使用第二个命令,您将看到所有 docker 图像。您所要做的就是找到所谓的“悬空图像”。这些都是不包含标签的 Docker 镜像。没有标签,与标签图像没有任何联系,这意味着它们不再有用。

您可以使用图像 ID 删除一张或多张图像。为此,请使用以下命令之一:

$ docker rmi d65c4d6a3580 #删除单个图像

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #删除多个图像

更方便的解决方案是使用 -f 过滤器标志列出所有悬空图像。

要删除这些图像并清理磁盘空间,请使用以下命令之一:

$ docker image prune #interactively 删除悬空的图像

或者

$ docker rmi $(docker images -q -f dangling=true)

您可以以类似的方式删除所有 Docker 镜像。使用 $ docker images –a 命令列出它们,然后使用以下命令删除它们:

$ (docker rmi $(docker 图像 -a -q)

另一种选择是删除遵循特定模式的图像。要列出它们,请使用以下命令:

$ docker 图像 -a | grep“模式”

然后,使用以下方法删除它们:

$ docker 图像 -a | grep "模式" | awk '{print $3}' | xargs 码头工人 rmi

移除容器

在使用 Docker 一段时间后,您可能想做的另一件事是删除一个或多个容器。

与图像删除类似,您首先需要使用以下命令列出它们:

$码头工人

或者

$ docker ps -a

当您找到要移除的容器时,请使用其 ID 进行操作。

$ docker rm 0fd99ee0cb61 #删除单个容器

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #删除多个容器

如果您尝试删除的容器正在运行,您可以使用以下命令停止它:

$ 码头工人停止 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

最后,您可以使用以下命令停止并删除所有不必要的容器:

$ docker stop $(docker ps -a -q) #停止所有容器

$ docker container prune #交互式删除所有停止的容器

或者

$ docker rm $(docker ps -qa)

这将使您释放宝贵的磁盘空间并重新开始。

最后一句话

如您所见,删除 Docker 镜像和容器并不像它想象的那么令人生畏。现在您知道了这些命令,您可以更好地控制您的 Docker 体验。

当然,这些只是部分命令,您可以使用其他多种组合。尽管如此,这些都可以很好地完成工作,所以请随意尝试一下。