Gitlab runner:无法在 Ubuntu 上回收 Docker 空间 - 设备上没有剩余空间

Posted

技术标签:

【中文标题】Gitlab runner:无法在 Ubuntu 上回收 Docker 空间 - 设备上没有剩余空间【英文标题】:Gitlab runner: cannot reclaim Docker space on Ubuntu - no space left on device 【发布时间】:2020-11-13 09:54:39 【问题描述】:

我在 EC2 (Ubuntu 18.04) 上运行私有 Gitlab Group 运行器。它最近经常在各个阶段开始失败构建作业,但所有这些都具有相同的根本原因:no space left on device

登录EC2实例,我可以看到

  System load:                    0.0
  Usage of /:                     99.5% of 29.02GB
  Memory usage:                   14%       
  Processes:                      109

  => / is using 99.5% of 29.02GB
  => There are 3 zombie processes.

磁盘可用空间显示 //var/lib/docker/overlay2 使用率为 100%:

/# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M  928K  394M   1% /run
/dev/xvda1       30G   29G  140M 100% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
overlay          30G   29G  140M 100% /var/lib/docker/overlay2/ed591...60f1/merged
shm              64M     0   64M   0% /var/lib/docker/containers/e9de...f8ed/mounts/shm
overlay          30G   29G  140M 100% /var/lib/docker/overlay2/0956c...e51f/merged
shm              64M     0   64M   0% /var/lib/docker/containers/4cab...0ba8/mounts/shm
/dev/loop1       18M   18M     0 100% /snap/amazon-ssm-agent/1566
/dev/loop3       29M   29M     0 100% /snap/amazon-ssm-agent/2012
/dev/loop2       97M   97M     0 100% /snap/core/9436
/dev/loop4       97M   97M     0 100% /snap/core/9665
tmpfs           395M     0  395M   0% /run/user/1000

Docker 磁盘使用情况显示 ~21GB,显然无法认领:

/# docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              2                   2                   746MB               0B (0%)
Containers          2                   2                   8.989MB             0B (0%)
Local Volumes       3                   3                   20.4GB              0B (0%)
Build Cache         0                   0                   0B                  0B

修剪什么都不做:

/# docker system prune
Total reclaimed space: 0B

如何识别正在使用此磁盘空间的内容并最终回收它?

【问题讨论】:

你看过这篇文章***.com/questions/31712266/… 如您所见,您的卷占用了 20GB,但请确保在实际执行之前删除它们是安全的。也许那里的数据很珍贵。 【参考方案1】:

使用默认选项执行 docker system prune 只会回收空闲容器、网络保留的空间 - 它不会删除图像。

为了也删除所有未使用的图像,您需要运行:

docker system prune -a

【讨论】:

以上是关于Gitlab runner:无法在 Ubuntu 上回收 Docker 空间 - 设备上没有剩余空间的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ubuntu Gitlab Runner 的问题

gitlab gitlab runner

gitlab-runner 随机运行为 root 而不是用户 gitlab-runner

由于禁止的秘密访问规则,无法在 gitlab-runner 中使用 helm upgrade

gitlab runner安装

Gitlab CI持续集成 - GitLab Runner 安装与注册