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 
posted @ 2023-04-24 00:02  lqqgis  阅读(211)  评论(0)    收藏  举报