# docker优化硬盘空间
# 1. docker system命令
docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 147 36 7.204GB 3.887GB (53%)
Containers 37 10 104.8MB 102.6MB (97%)
Local Volumes 3 3 1.421GB 0B (0%)
Build Cache 0B 0B
1
2
3
4
5
6
2
3
4
5
6
可知,Docker镜像占用了7.2GB磁盘,Docker容器占用了104.8MB磁盘,Docker数据卷占用了1.4GB磁盘。
# docker system prune命令
docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。 docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚吶。
# 2. 手动清理Docker镜像/容器/数据卷
对于旧版的Docker(版本1.13之前),是没有docker system命令的,因此需要进行手动清理。这里给出几个常用的命令 删除所有关闭的容器
docker ps -a | grep Exit | cut -d '' -f 1 | xargs docker rm
1
删除所有dangling镜像(即无tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
1
删除所有dangling数据卷(即无用的volume):
docker volume rm $(docker volume ls -qf dangling=true)
1
在内网测试机上,跑的三个docker虚拟机里面安装mysql之后,硬盘空间被占满 删除所有的镜像,依然无法腾出硬盘空间
生产环境谨慎使用!
systemctl stop docker
rm -rf /var/lib/docker/*
systemctl start docker
1
2
3
4
2
3
4
https://www.cnblogs.com/fundebug/p/8353158.html https://segmentfault.com/q/1010000005846603/a-1020000005854058