繁体   English   中英

清理Docker镜像占用的磁盘空间

[英]Cleanup disk space occupied by Docker images

我在 windows 10 上运行 docker。

我的机器中存储了几张图像。 这些图像的总大小累积到大约 10GB。 我已通过“ docker rmi -f ”命令删除了这些图像。

但这些图像所占据的空间并没有被释放。 如果我运行“docker images”命令,删除的图像不会在“docker images”命令的 output 中列出(但磁盘空间未清理)。

如何改善(即减少)docker 使用的磁盘空间?

首先尝试运行:

docker system prune

它将删除:

  • 所有停止的容器
  • 至少一个容器未使用的所有卷
  • 至少一个容器未使用的所有网络
  • 所有悬垂的图像

如果这还不够,请执行以下操作:

docker system prune -a

它将删除:

  • 所有停止的容器
  • 至少一个容器未使用的所有卷
  • 至少一个容器未使用的所有网络
  • 没有至少一个容器关联的所有图像

如果您没有得到预期的结果,请尝试以下操作

docker volume prune

它将删除至少一个容器未使用的所有本地卷。

2016 年第四季度更新:正如我在“如何删除旧的和未使用的 Docker 镜像”中提到的,使用:

docker image prune -a

(比docker system prune更精确)

它将删除悬空和未使用的图像。 警告:“未使用”的意思是“没有被任何容器引用的图像”:在使用-a之前要小心。

然后检查图像的磁盘空间是否相应缩小。


原答案:

请参阅katopz的 Medium 文章“ 如何清理 Docker(~5GB 垃圾!) ”。

它指的是docker-cleanup脚本,用于删除旧的退出进程和悬空图像。
我也有自己的别名

但它也提到,从 docker 1.10 开始,您现在已经命名了需要删除的卷:

docker volume rm $(docker volume ls -qf dangling=true)

清理系统内存分为三个步骤:

  1. 删除泊坞窗图像
  2. docker system prune -a
  3. 退出 docker 容器应用

这对我有用。 完成上述步骤后,清理了大约 30GB 的空间。

在 Wsl2 上运行 docker 桌面的 windows 上,GUI 中有一个选项可以清除数据。 在此处输入图像描述

select wsl2提示数据存储时。

注意:此选项将删除您的所有 docker 数据。 如果您不想这样做,请尝试此线程中其他人提到的修剪选项。

docker system prune在我运行Ubuntu 2020.10.2机器上完美运行。

如果根据我的经验,您的空间已满,docker prune 将挂起。 您需要手动删除卷。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM