我正在Windows 10上运行Docker。
我的电脑上存储了几个镜像。这些镜像的总大小累计到了约10GB左右。我使用'docker rmi -f
'命令删除了这些镜像。
但是这些镜像占用的磁盘空间并没有被释放。如果我运行'docker images'命令,已删除的镜像不会列在'docker images'命令的输出中(但磁盘空间并未清理)。
如何提高(即减少)Docker使用的磁盘空间?
我正在Windows 10上运行Docker。
我的电脑上存储了几个镜像。这些镜像的总大小累计到了约10GB左右。我使用'docker rmi -f
'命令删除了这些镜像。
但是这些镜像占用的磁盘空间并没有被释放。如果我运行'docker images'命令,已删除的镜像不会列在'docker images'命令的输出中(但磁盘空间并未清理)。
如何提高(即减少)Docker使用的磁盘空间?
首先尝试运行:
docker system prune
它将移除以下内容:
如果这不够,请执行以下操作:
docker system prune -a
它将移除以下内容:
如果您没有得到您所期望的结果,请尝试以下方法
docker volume prune
它将删除所有至少没有一个容器使用过的本地卷。
docker volume prune
吗? - Artur BarseghyanC:\ProgramData\docker\windowsfilter
文件夹中。 - Surya Tej2016年第四季度更新:正如我在 "如何删除旧的和未使用的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)
docker volume prune
,它可以做同样的事情。 - VonC清理系统内存有三个步骤:
这对我很有效。在执行上述步骤后,大约清理了30GB的空间。
docker prune -a
之外,还要注意这个问题:Windows 10: Docker删除所有镜像和容器后不释放磁盘空间#244。我刚刚使用了这个来恢复了100GB的空间。
我的磁盘使用了80%,但对磁盘上文件大小的计算显示只使用了约10%。
在我的情况下,清理docker缓存,卷,镜像和日志都没有帮助。但是重新启动docker服务有所帮助:
sudo systemctl restart docker
在此之后,磁盘的使用量已经达到了预期的10%。
如果你的空间已满,使用docker prune可能会卡住。你需要手动删除卷。
docker system prune
在我的机器上运行得非常好,我使用的是 Ubuntu 20
和 docker 20.10.2
。