我正在运行一个标准的 Jenkins 容器,使用 docker-compose 如下:
version: '3'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins:lts
restart: unless-stopped
volumes:
- jenkins_home:/var/jenkins_home
ports:
- 8080:8080
- 50000:50000
volumes:
jenkins_home:
当我运行它时,
/var/jenkins_home
空间不足。
$ docker exec -it jenkins bash
jenkins@e7009fbca617:/$ df -h
Filesystem Size Used Avail Use% Mounted on
overlay 18G 17G 64K 100% /
tmpfs 64M 0 64M 0% /dev
tmpfs 495M 0 495M 0% /sys/fs/cgroup
/dev/sda1 18G 17G 64K 100% /var/jenkins_home
shm 64M 0 64M 0% /dev/shm
tmpfs 495M 0 495M 0% /proc/acpi
tmpfs 495M 0 495M 0% /proc/scsi
tmpfs 495M 0 495M 0% /sys/firmware
我不明白是什么占用了这个空间。如果我进入
/var/jenkins_home/
看看空间的用途,它不会显示这样的用法:
jenkins@e7009fbca617:/$ cd /var/jenkins_home/
jenkins@e7009fbca617:~$ du -sh
3.5G .
jenkins@e7009fbca617:~$
如何调查导致问题的原因?
注意:Jenkins 确实报告系统空间不足,因此无法运行。
注 2:我试图为相当大的存储库运行构建,也许它可能会导致空间出现一些问题。但我尝试删除容器并再次重新创建它,但没有帮助。
对于我们来说,我们从 jenkins docker 中构建 docker 镜像。因此,我们需要从 docker 镜像内部运行常规修剪:
sudo docker exec -it jenkins-blueocean bash
docker system prune -a
这应该删除所有已停止的容器、当前未使用的所有网络、没有关联容器的所有映像,以及最重要的是 docker 映像内的构建缓存。
希望这有帮助。