首页 云计算

云计算核心技术Docker教程:清理未使用的Docker对象

Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空间。对于每种类型的对象,Docker提供一个prune命令。此外,您可以docker system prune用来一次清除多种类型的对象。本主题显示如何使用这些prune命令。.

清理镜像

该docker image prune命令允许您清除未使用的镜像。默认情况下,docker image prune仅清除悬空的镜像。悬空镜像是未标记且未被任何容器引用的镜像。要删除悬空的镜像,请执行以下操作:

$ docker image prune

WARNING! This will remove all dangling images.

Are you sure you want to continue? [y/N] y

要删除现有容器未使用的所有镜像,请使用-a 标志:

$ docker image prune -a

WARNING! This will remove all images without at least one container associated to them.

Are you sure you want to continue? [y/N] y

默认情况下,系统会提示您继续。要绕过提示,请使用-f或 --force标志。

您可以使用带有--filter标志的过滤表达式来限制修剪哪些镜像 。例如,仅考虑超过24小时前创建的镜像:

$ docker image prune -a --filter "until=24h"

清理容器

停止容器时,除非您使用--rm标志将其启动,否则不会自动将其删除。要查看Docker主机上的所有容器,包括已停止的容器,请使用docker ps -a。您可能会惊讶地发现有多少个容器,尤其是在开发系统上!停止的容器的可写层仍会占用磁盘空间。要清理此问题,可以使用docker container prune命令。

$ docker container prune

WARNING! This will remove all stopped containers.

Are you sure you want to continue? [y/N] y

默认情况下,系统会提示您继续。要绕过提示,请使用-f或 --force标志。

默认情况下,所有停止的容器都将被删除。您可以使用该--filter标志限制范围。例如,以下命令仅删除24小时以上的已停止容器:

$ docker container prune --filter "until=24h"

官方微博/微信

每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

↑扫描二维码

想在手机上看科技资讯和科技八卦吗?

想第一时间看独家爆料和深度报道吗?

请关注TechWeb官方微信公众帐号:

1.用手机扫左侧二维码;

2.在添加朋友里,搜索关注TechWeb。

为您推荐

加载更多文章

手机游戏更多