- 作者:老汪软件技巧
- 发表时间:2023-12-26 21:00
- 浏览量:
查看数据卷及磁盘使用情况
在长时间使用的情况下,经常需要删除旧的容器并创建新的容器,长此以往, 的数据卷 会产生了非常多的僵尸文件,这些将是稳健大都是未绑定容器的目录
查询僵尸文件
在 1.9 以上的版本中,官方提供用于查询僵尸文件的命令:
docker volume ls -qf dangling=true
1.13 引入了类似于 Linux 上 df 的命令,用于查看 的磁盘使用情况
docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 2 1 306.6MB 233.7MB (76%)
Containers 1 1 12.62GB 0B (0%)
Local Volumes 20 0 16GB 16GB (100%)
Build Cache 0 0 0B 0B
上述信息可以看出
镜像占用了 306.6MB 磁盘,
容器占用了 12.62GB 磁盘,
数据卷占用了 16GB 磁盘。
删除无用数据卷
手动删除命令
删除所有数据卷(即无用的,僵尸文件)
docker volume rm $(docker volume ls -qf dangling=true)
删除所有镜像(即无tag的镜像)
docker rmi $(docker images | grep “^” | awk “{print $3}”)
删除所有关闭的容器
docker ps -a | grep Exit | cut -d ’ ’ -f 1 | xargs docker rm
删除关闭的容器、无用的数据卷和网络,以及镜像(即无tag的镜像)
注意,所有关闭的容器都会被删除,请核查是否存在关闭运行但是需要保留的容器
删除关闭的容器、无用的数据卷和网络
docker system prune
删除更彻底,可以将没有容器使用镜像都删掉
docker system prune -a
重启
使用上面几个方法的命令可以有效清理 运行所产生的无用文件,且无需重启 即可生效。
但是 也许存在某些 bug(内核 3.13 版本的 确诊),导致 无法清理一些无用目录,不过重启 可以解决这个问题