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

vin*_*jan 10 containers image docker

我正在Windows 10上运行docker.

我的机器中存有几张图像.这些图像的总大小累计到约10GB左右.我通过' docker rmi -f'命令删除了这些图像.

但这些图像占用的空间尚未公布.如果我运行'docker images'命令,删除的图像不会在'docker images'命令的输出中列出(但磁盘空间不会被清除).

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

sha*_*359 7

在 wsl2 上运行 docker 桌面的 Windows 上,GUI 中有一个用于清除数据的选项。 在此输入图像描述

当提示数据存储时选择wsl2 。

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


Von*_*onC 5

更新2016年第4季度:正如我在“ 如何删除旧的和未使用的Docker映像 ”中所述,请使用:

docker image prune -a
Run Code Online (Sandbox Code Playgroud)

(比精确docker system prune)

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

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


原始答案:

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

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

但同时也提到,自docker 1.10起,您现在还命名了需要删除的卷:

docker volume rm $(docker volume ls -qf dangling=true)
Run Code Online (Sandbox Code Playgroud)


Art*_*yan 5

首先尝试运行:

docker system prune

它将删除:

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

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

docker system prune -a

它将删除:

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

  • 它不起作用。即使我根本没有任何图像、容器或卷,它仍然显示 64GB。System prune -a 只显示“总回收空间:0 B”。然而 ~/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 仍然是 64GB。如何?! (4认同)

小智 5

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

  1. 删除docker镜像
  2. docker系统修剪-a
  3. 退出 docker 容器应用程序

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