【发布时间】:2017-02-09 14:09:08
【问题描述】:
我和我的团队正在使用的 docker 经常出现空间不足。通常我们通过删除悬空图像来解决这个问题。但是现在有 5 个正在运行的容器,有 7 个图像,并且内存已满。甚至日志文件也无法写入其输出。所以正如我所描述的,有 15 个图像(docker images --all),但是当我输入docker info 时,它说有 132 个图像。
root@dockersrv:/var/lib/docker# docker info
Containers: 10
Images: 132
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 154
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 2
Total Memory: 15.67 GiB
Name: dockersrv
ID: ``
WARNING: No swap limit support
据我所知,有人设法删除了注册表容器,我们创建了一个新容器。我的想法是所有这些图像都与旧注册表相关联。所以任何想法如何删除它们并释放一些空间。任何其他关于如何增加其内存以及除了删除悬空图像和旧容器之外如何执行的建议将不胜感激。
【问题讨论】:
-
docker images -a将显示您的所有图像。但这也将包含您现有图像的子图像。使用docker rmi $(docker images | grep "^<none>" | awk "{print $3}"),您可以使用标签: 删除所有未使用的图像,但我认为您已经这样做了。 -
当您与
du -sh一起探索时。/var/lib/docker/中的哪个文件夹包含大量千兆字节?大多数情况下,悬空卷都会导致问题。 -
整个目录是 60 个 gig,其中 15 个用于 aufs,40 个用于 volumes 文件夹
-
奇怪的是 docker images --all 返回大约 40 个结果(连同中间结果)。但是状态说有150个......
-
也许您的旧注册表中的某些卷仍然存在。
du -sh /var/lib/docker/volumes的输出是什么?
标签: docker dockerfile docker-machine docker-registry