
代码示例:
清理Docker磁盘空间可以通过以下几种有效方法进行:
-
清理无用的容器:
- 删除所有停止的容器:
docker rm $(docker ps -a -q) - 删除所有正在运行的容器(请谨慎操作):
docker kill $(docker ps -q)
- 删除所有停止的容器:
-
清理无用的镜像:
- 删除所有未使用的镜像:
docker rmi $(docker images -q -f "dangling=true") - 删除所有镜像(包括正在被使用的),请谨慎操作:
docker rmi -f $(docker images -q)
- 删除所有未使用的镜像:
-
清理Docker日志文件:
- 清空所有容器的日志文件:
truncate -s 0 /var/lib/docker/containers/*/*-json.log
- 清空所有容器的日志文件:
-
清理Docker临时文件:
- 清理/var/lib/docker/tmp目录下的临时文件。
-
清理Docker系统文件:
- 清理关闭的容器、无用的数据卷和网络,以及dangling镜像:
docker system prune -a - 清理未使用的卷:
docker volume prune
- 清理关闭的容器、无用的数据卷和网络,以及dangling镜像:
-
清理构建缓存:
- 清理所有未使用的构建缓存:
docker builder prune
- 清理所有未使用的构建缓存:
-
配置Docker自动清理:
- 在Docker的配置文件
daemon.json中设置自动清理策略,例如设置镜像和容器的过期时间:{ "image-prune-filters": { "until": "24h" }, "container-prune-filters": { "until": "24h" } }
- 在Docker的配置文件
-
迁移Docker数据目录:
- 如果
/var/lib/docker目录占用空间过大,可以考虑迁移到其他磁盘分区:- 停止Docker服务:
systemctl stop docker - 创建新的Docker目录并迁移数据:
mkdir -p /home/docker/lib rsync -avz /var/lib/docker /home/docker/lib/ - 更新Docker配置以使用新的数据目录。
- 停止Docker服务:
- 如果
-
清理overlay2文件系统:
- 如果发现
/var/lib/docker/overlay2目录占用空间异常,可以尝试查找并删除对应的旧容器层:docker system prune --volumes -af
- 如果发现
在执行任何清理操作之前,请确保已经备份了所有重要数据,以免丢失。
喜欢本文,请点赞、收藏和关注!
3061

被折叠的 条评论
为什么被折叠?



