如何解决我如何清理码头工人?
发生错误,因为没有足够的磁盘空间 我决定检查有多少免费的,并遇到了这个奇迹
通过docker system prune -a
和
docker container prune -f
docker image prune -f
docker system prune -f
但是只有9GB被清除
解决方法
修剪可删除一段时间未使用/已停止的容器/图像。我建议您执行一个docker ps -a
,然后使用docker stop <container-id>
删除/停止所有您不想要的容器,然后继续使用docker images ps
删除docker镜像,然后将其删除docker rmi <image-name>
一旦您弯腰/删除了所有不需要的容器,请运行docker system prune --volumes
来删除所有卷/缓存并晃动图像。
别忘了修剪卷!这些几乎总是占用比图像和容器更多的空间。 docker volume prune
。但是,如果其中存储有任何有价值的东西,请小心。
这可能是您记录正在运行的容器。我已经看到了Docker日志记录将日志写满磁盘。默认情况下,Docker容器可以写入无限的日志。
我总是将日志记录配置添加到我的docker-compose限制总大小中。 Docker Logging Configuration。
,在屏幕截图中,我认为占用了多少空间有些困惑。覆盖文件系统是从父文件系统上的目录组装而成的。在这种情况下,该父文件系统在2.1.0
内,在您的示例中是/var/lib/docker
的一部分。因此,每个覆盖文件系统的/
输出显示了df
中已使用/可用的磁盘空间。每个容器都没有使用84G,这就是整个/dev/vda2
文件系统中使用了多少。
要查看Docker容器,图像,卷等正在使用多少空间,可以使用/
。如果您正在运行容器(可能来自上面的屏幕截图),则docker不会清理它们,您需要先停止它们,然后才能进行修剪。删除容器后,即可修剪映像和卷。请注意,删除卷会删除您在该卷中存储的所有数据,因此请确保它不是您要保存的数据。
Docker从下载大量映像中使用大量磁盘空间的情况并不少见(docker使尝试新事物变得容易),并且在停止容器时最容易修剪它们。但是,很难看到的是容器正在输出的日志,这些日志将缓慢地填充容器目录中的驱动器。有关如何自动清除日志的更多详细信息,请参见this answer。
,如果需要,您可以深入研究并找出导致大量磁盘使用的文件。
du -sh /var/lib/docker/overley2/<container hash>/merged/* | sort -h
这将帮助您轻松地得出结论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。