docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker overlay2 目录

如何清理docker的overlay2 目录

作者:云上艺旅

本文介绍了如何清理Docker的overlay2目录,包括确认overlay2目录的位置、清理未使用的容器和镜像、手动清理overlay2目录、清理日志文件、限制日志大小以及检查磁盘空间,感兴趣的朋友一起看看吧

overlay2 是 Docker 默认使用的存储驱动,用于管理容器和镜像的存储。随着容器和镜像的增多,overlay2 目录可能会占用大量磁盘空间。清理 overlay2 目录需要谨慎操作,以避免误删正在使用的容器或镜像。

以下是清理 overlay2 目录的步骤和方法:

1. 确认 overlay2 目录的位置

overlay2 目录通常位于 Docker 的数据根目录下,默认路径为 /var/lib/docker/overlay2

sudo du -sh /var/lib/docker/overlay2

该命令会显示 overlay2 目录的磁盘使用情况。

2. 清理未使用的容器和镜像

Docker 提供了命令来清理未使用的资源,包括停止的容器、未使用的镜像、悬空的卷和网络。

清理未使用的容器、镜像、卷和网络:

sudo docker system prune -a
sudo docker image prune

仅清理停止的容器:

sudo docker container prune

仅清理未使用的卷:

sudo docker volume prune

仅清理未使用的网络:

sudo docker network prune

3. 手动清理 overlay2 目录

如果 docker system prune 无法完全释放空间,可以手动清理 overlay2 目录。但需要确保清理的文件没有被正在运行的容器或镜像使用。

步骤:

停止 Docker 服务:

sudo systemctl stop docker

删除 overlay2 目录中的未使用文件:

进入 overlay2 目录:

cd /var/lib/docker/overlay2

查找并删除未使用的目录:

sudo find . -type d -empty -delete

启动 Docker 服务:

sudo systemctl start docker

4. 清理日志文件

Docker 的日志文件也可能占用大量磁盘空间。可以清理日志文件以释放空间。

清理容器日志:

查看容器日志大小:

sudo du -sh /var/lib/docker/containers/*/*-json.log

清理日志文件:

清理单个容器的日志:

sudo truncate -s 0 /var/lib/docker/containers/<container_id>/<container_id>-json.log

清理所有容器的日志:

sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log

5. 限制日志大小

为了避免日志文件占用过多空间,可以在启动容器时限制日志大小。

示例:

sudo docker run -d --log-opt max-size=10m --log-opt max-file=3 <image_name>

6. 检查磁盘空间

清理完成后,检查磁盘空间是否释放:

df -h

注意事项:

到此这篇关于如何清理docker的overlay2 目录的文章就介绍到这了,更多相关docker overlay2 目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文