当Docker存储空间不足时,可以采取以下方法解决:
# 清理停止的容器、未使用的网络、悬空镜像和构建缓存
docker system prune
# 彻底清理所有未使用的镜像(包括未被容器引用的)
docker system prune -a
# 查看Docker磁盘使用情况
docker system df
# 查看详细的空间占用情况
docker system df -v
# 删除所有悬空镜像
docker image prune
# 删除超过24小时的容器
docker container prune --filter "until=24h"
# 删除未使用的卷
docker volume prune
编辑/etc/docker/daemon.json
文件(如不存在则创建):
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
然后重启Docker服务:
sudo systemctl restart docker
# 停止Docker服务
sudo systemctl stop docker
# 调整存储池大小
sudo lvresize --size 100G /dev/mapper/docker-thinpool
# 检查文件系统并调整大小
sudo xfs_growfs /var/lib/docker
# 启动Docker服务
sudo systemctl start docker
考虑将Docker数据目录迁移到更大的磁盘分区:
在/etc/docker/daemon.json
中添加:
{
"features": {
"buildkit": true
},
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
}
}
执行这些操作前,请确保备份重要数据,特别是在修改存储配置时。