Docker 清理空间缓存
查看 docker 占用的空间
docker system df
docker system df -v
容器的磁盘占用
在容器内创建一个 100MB 的空文件, 此文件是保存在容器的读写层,当停止容器后,容器占用的空间就会变为可回收的。
如何回收呢?删除容器时会删除其关联的读写层占用的空间。
也可以一键删除所有已经停止的容器:
docker container prune # 删除停止的容器
# 如果想删除所有容器(包括停止的、正在运行的),可以使用下面这2个命令:
docker rm -f $(docker ps -aq)
docker container rm -f $(docker container ls -aq)
镜像的磁盘占用
子镜像,就是被其他镜像引用的中间镜像,不能被删除。
悬挂状态的镜像,就是不会再被使用的镜像,可以被删除。
docker image ls -f dangling=true # 列出所有悬挂状态的镜像
docker image rm $(docker image ls -f dangling=true -q) # 删除这类镜像 或 docker image prune
删除缓存
Docker 18.09 引入了 BuildKit,提升了构建过程的性能、安全、存储管理等能力。
# 删除构建缓存
docker builder prune
# 删除所有已停止的容器
docker container prune
# 删除特定状态容器
docker container prune --filter "status=exited"
# 删除所有未使用的卷(重要数据请先备份)
docker volume prune
# 删除所有未使用的网络
docker network prune
一键清理
像容器、镜像、数据卷都提供了 prune这个子命令,帮助我们回收空间。
docker在系统层面,可以一键清理没用的空间,定期执行这个命令是个好习惯。
docker system prune

浙公网安备 33010602011771号