Docker占用了我所有的磁盘空间

时间:2016-02-28 17:25:13

标签: docker

我整天玩码头游戏,最后我的磁盘空间不足了。

docker ps
docker images
docker volume ls

所有这些命令都没有显示任何内容(我删除了所有图像,容器和卷)。 但仍然没有任何空间。

错过了什么? (我确信码头工人对此感到内疚=),早上有100 GB的可用空间) 附:我在OSx上

更新

我通过删除docker-machine

释放了空间
docker-machine rm default

我相信,这不是一个出色的解决方案,如果是linux环境,我该怎么办? =) 所以任何通过让docker远离磁盘空间的建议都会很棒。

3 个答案:

答案 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