Docker – 删除所有图片和容器后释放空间
我删除了所有的图像/容器
ubuntu@ubuntu:/var/lib/docker$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu@ubuntu:/var/lib/docker$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
但是我注意到在/var/lib/docker
里仍然有大约15GB的空间
ubuntu@ubuntu:/var/lib/docker$ sudo du --max-depth=1 -h . 12G ./volumes 104K ./aufs 4,0K ./containers 1,3M ./image 4,0K ./trust 4,0K ./swarm 2,6G ./tmp 108K ./network 15G .
问题:
-
我怎样才能释放这个空间?
-
删除
/var/lib/docker
中的东西是否安全?
尝试(从docker1.13):
docker system df
它显示你的大小:
- 图片
- 集装箱
- 本地卷
并使用以下命令删除本地卷
docker volume prune
对于较旧的Dockers,请尝试:
docker volume rm $(docker volume ls -q)
对于我当前的docker版本(Client和Server都是1.12.1),删除所有卷的方法是使用:
docker volume rm $(docker volume ls -q)
但以下更安全:(感谢马特的评论)
$(docker volume ls -qf dangling=true)
也从版本: 1.13.0(2017-01-18)添加了一些命令:
$ docker system prune $ docker container prune $ docker image prune $ docker volume prune $ docker network prune
更新日志:添加新的
docker system
命令与df
和prune
子系统资源pipe理,以及docker {container,image,volume,network} prune
子命令#26108#27525 /#27525
大部分空间被docker volume
所占用,正如你从输出中看到的那样:
12G ./volumes
Docker卷用于为Docker容器持久化数据,并在容器之间共享数据,而且它们独立于容器的生命周期。 因此,删除映像/容器不会释放他们占用的磁盘空间。 请参阅他们的官方文档了解更多详情。
如果你使用的是最新版本的docker,你可以find与卷有关的命令文档以获得更多的细节(比如列表/删除/创build卷),对于较老版本的docker,你可以参考github上的脚本来了解如何清理卷。
希望这可能会有所帮助:-)