在 Ubuntu 上使用 Docker 时,随着镜像、容器、卷和构建缓存的积累,磁盘空间很容易被占满。下面按从安全到彻底的方式,介绍如何清理 Docker 占用的空间。
docker system df
更详细:
docker system df -v
docker system prune
会删除:
⚠️ 不会删除:
docker system prune -a
再加上卷(⚠️ 会删数据):
docker system prune -a --volumes
docker ps -a
docker rm 容器ID
批量删除已退出的容器:
docker container prune
docker images
docker rmi 镜像ID
删除所有未被使用的镜像:
docker image prune -a
docker network prune
docker volume prune
docker builder prune
清理全部构建缓存:
docker builder prune -a
Docker 默认数据目录:
/var/lib/docker
查看占用:
sudo du -sh /var/lib/docker
⚠️ 不要手动删除 /var/lib/docker 里的文件
sudo crontab -e
添加(每天凌晨清理):
0 3 * * * docker system prune -af --volumes
prune 不会删正在运行的容器--volumes 会删数据库数据prune如果你愿意,可以告诉我:
我可以给你一套更合适的安全清理方案。