返回博客

清理 Docker 资源 – 镜像、容器和卷

清理 Docker 资源 – 镜像、容器和卷

Docker 是如今企业中最受欢迎的产品之一。它使在容器中管理应用程序的过程变得非常简单。由于使用容器,Docker 为应用程序提供了便携性、性能、敏捷性、可扩展性和隔离性。与虚拟机相比,容器更具便携性,且消耗更少的资源。在使用 Docker 的过程中,您往往会积累大量未使用的镜像、数据卷和容器。这些资源会使输出变得杂乱,并占用大量磁盘空间。在本教程中,您将学习如何清理 Docker 资源并整理您的服务器。

清除所有

您只需一条命令即可清理所有 Docker 资源,包括镜像、已停止的容器、数据卷和网络。您可以选择以下选项之一:

参考:悬空资源是指那些与任何运行中的容器都无关联的资源。

选项 1:
这将删除:
– 所有已停止的容器
– 所有未被至少一个容器使用的网络
– 所有悬空镜像
– 所有悬空的构建缓存

选项 2:
这将删除:
– 所有已停止的容器
– 所有未被至少一个容器使用的网络
– 所有未与至少一个容器关联的镜像
– 所有构建缓存

选项 3:
这将删除:
– 所有已停止的容器
– 所有未被至少一个容器使用的网络
– 所有未被至少一个容器使用的数据卷
– 所有未与至少一个容器关联的镜像
– 所有构建缓存

docker prune options

删除 Docker 镜像

要删除特定镜像,您需要知道其镜像 ID。您可以使用 “docker images” 命令找到 Docker 容器的镜像 ID,正如我们在关于如何在 Ubuntu 上安装 & 操作 Docker.

列出镜像:
删除镜像:
docker rmi

删除悬空镜像:

当您构建 Docker 镜像时,它通常包含多个镜像层。悬空镜像是指与任何已标记镜像都没有关联的镜像层。悬空镜像会占用磁盘空间,但没有任何作用。可以使用以下命令列出它们:

You can remove these images by running the following command:

根据模式删除镜像

您可以使用 “grep” 命令轻松找到符合特定模式的镜像,然后使用 “awk” 将其传递给 “docker rmi” 命令进行删除。您可以使用以下命令,并将其中每个命令中的 “pattern” 替换为您需要的模式:

列出:
删除:
删除所有镜像

您可以使用以下命令列出所有 docker 镜像:

一旦您决定全部删除,可以使用此命令将它们全部删除:

 

删除容器:

现在您已经清理了所有不需要的镜像,是时候删除一些不需要的容器了。

要列出容器,您可以使用以下命令:

要删除容器,请使用以下命令:

docker rm container
临时运行容器

如果您只想运行容器一次,可以选择在容器退出时自动将其删除。您可以使用以下命令来执行此操作:

删除已退出的容器

您可以使用 “-f” 参数过滤已退出的容器。使用以下命令列出已退出的容器:

现在您已经过滤了它们,请使用此命令将它们删除:

根据模式删除容器

您可以使用 “grep” 命令轻松找到符合特定模式的容器,然后使用 “awk” 将其传递给 “docker rm” 命令来删除它们。您可以使用以下命令,并替换其中每个命令中的 “pattern”。

列表:
删除:
停止并删除所有容器

在执行此操作之前,请通过列出服务器上的所有容器来进行检查。只有在确定要删除它们时,才运行以下命令:

列出容器以进行检查:

停止并删除:

删除数据卷

删除特定数据卷

要删除特定数据卷,您需要知道该数据卷的名称。要找出该名称,您可以列出所有数据卷。

列表:
删除:
docker volume rm
删除悬空数据卷

当您删除容器时,与其挂载的数据卷不会自动删除。这种数据卷被称为悬空数据卷。要定位这些数据卷,请在命令中使用过滤参数:

要删除所有此类悬空数据卷,请使用以下命令:

 

删除容器及其未命名的数据卷

如果您在运行容器时创建了匿名或未命名的数据卷,则可以使用单个命令将其与容器一起删除。但是,如果数据卷是有名称的,则只会删除容器。

 

现在您已经拿到了这份速查表,应该可以开始清理服务器上不需要的 Docker 资源了。

祝您使用愉快!

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。