我整天玩码头游戏,最后我的磁盘空间不足了。
docker ps
docker images
docker volume ls
所有这些命令都没有显示任何内容(我删除了所有图像,容器和卷)。 但仍然没有任何空间。
错过了什么? (我确信码头工人对此感到内疚=),早上有100 GB的可用空间) 附:我在OSx上
我通过删除docker-machine
释放了空间docker-machine rm default
我相信,这不是一个出色的解决方案,如果是linux环境,我该怎么办? =) 所以任何通过让docker远离磁盘空间的建议都会很棒。
答案 0 :(得分:4)
删除任何活动容器未使用的所有图像(已停止的容器仍处于活动状态!):
docker images | grep -i none | awk '{print $3}' | xargs docker rmi -f
删除所有泊坞窗图像(不一定推荐,但明显优于删除主机,这是您的泊坞机器所做的事情:)):
docker images | awk '{print $3}' | xargs docker rmi -f
答案 1 :(得分:1)
如果你确定,它是因为docker而发生的,那么你可以尝试以下命令:
在Linux上:
service docker stop
rm -rf /var/lib/docker ( the default graphdriver which you have set)
service docker start
注意:它会删除所有图像和容器。
在Mac上:
docker-machine ls
docker-machine kill <machine-name> #to kill machine
docker-machine rm <machine-name> #to remove machine
答案 2 :(得分:0)
Docker使用/ var / lib / docker文件夹来存储图层。有办法回收空间并将存储移动到其他目录。
您可以安装更大的磁盘空间并将/ var / lib / docker的内容移动到新的安装位置并进行sym链接。
有关如何执行上述任务的详细说明。
http://www.scmtechblog.net/2016/06/clean-up-docker-images-from-local-to.html
您也可以删除中间层。
https://github.com/vishalvsh1/docker-image-cleanup
##Removing Dangling images
##There are the layers images which are being created during building docker image. This is a great way to recover the spaces used by old and unused layers.
docker rmi $(docker images -f "dangling=true" -q)
##If you do not want to remove all container you can have filter for days and weeks old like below
docker ps -a | grep Exited | grep "days ago" | awk '{print $1}' | xargs docker rm
docker ps -a | grep Exited | grep "weeks ago" | awk '{print $1}' | xargs docker rm
##Removing stopped container
docker ps -a | grep Exited | awk '{print $1}' | xargs docker rm