前言
最近需要使用Jenkins构建新项目,发现构建报错,检查日志发现是磁盘空间不足导致的,于是开始排查磁盘空间为何不足并且清理磁盘不用的数据。
排查过程
一般情况下,Jenkins都是安装在/var/lib/jenkins
路径下,相对应产生的一些数据也会存在该路径所对应的挂载点中,那么跟随这个路径的根目录,利用下面命令去查询当前目录的磁盘空间占用情况:
du -sh .
并且通过下面命令去查询当前目录下每个子目录的空间占用情况:
du -sh *
经过排查,发现是Jenkins中用来启动项目的容器Docker占用了几乎所有的磁盘空间,那么接下来清理Docker中的无用数据即可。
清理Docker容器中无用数据
- 列出当前正在运行的容器。运行以下命令查看正在运行的容器:
docker ps
这将显示正在运行的容器的列表,包括容器的 ID。
- 停止和删除不再需要的容器。对于不再需要的容器,您可以先停止它们,然后再删除它们。运行以下命令停止容器:
docker stop <container_id>
请将 <container_id> 替换为您要停止的容器的实际 ID。运行以下命令删除容器:
docker rm <container_id>
请将 <container_id> 替换为您要删除的容器的实际 ID。
- 清理不再使用的镜像。运行以下命令列出所有镜像:
docker images
这将显示所有镜像的列表,包括每个镜像的 ID。
- 删除不再需要的镜像。对于不再需要的镜像,可以根据需要使用以下命令删除:
docker rmi <image_id>
请将 <image_id> 替换为您要删除的镜像的实际 ID。注意,删除镜像可能会影响依赖于该镜像的其他容器。
批量删除Docker容器
如果运行的Docker容器比较多,可以使用下面方法进行容器删除。
- 清理已停止的容器。运行以下命令列出所有已停止的容器:
docker ps -aq --filter status=exited
这将显示已停止的容器的列表,包括每个容器的 ID。运行以下命令删除已停止的容器:
docker rm $(docker ps -aq --filter status=exited)
这将删除所有已停止的容器,从而释放相关的容器数据所占用的空间。
- 清理无用的卷(Volumes)。运行以下命令列出所有未使用的卷:
docker volume ls -qf dangling=true
这将显示未使用的卷的列表,包括每个卷的名称或 ID。运行以下命令删除所有未使用的卷:
docker volume rm $(docker volume ls -qf dangling=true)
这将删除所有未使用的卷,从而释放相关的卷数据所占用的空间。
- 清理无用的网络。运行以下命令列出所有未使用的网络:
docker network ls -qf dangling=true
这将显示未使用的网络的列表,包括每个网络的名称或 ID。运行以下命令删除所有未使用的网络:
docker network rm $(docker network ls -qf dangling=true)
这将删除所有未使用的网络,从而释放相关的网络数据所占用的空间。
- 清理 Docker 日志文件:Docker 的日志文件可能会占用较大的磁盘空间。您可以尝试清理 Docker 的日志文件,具体操作方式因操作系统而异。在大多数 Linux 系统中,可以使用以下命令来清理 Docker 日志文件:
sudo journalctl --vacuum-size=100M
该命令将保留最近的 100MB 日志并删除其余的。文章来源:https://www.toymoban.com/news/detail-734486.html
结果
经过一系列清理后,Jenkins构建项目恢复正常,可以正常使用。文章来源地址https://www.toymoban.com/news/detail-734486.html
到了这里,关于Jenkins空间不足清理无用数据释放空间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!