繁体   English   中英

Gitlab 运行器:无法回收 Ubuntu 上的 Docker 空间 - 设备上没有剩余空间

[英]Gitlab runner: cannot reclaim Docker space on Ubuntu - no space left on device

我在 EC2(Ubuntu 18.04)上运行私有 Gitlab Group runner。 它最近经常在各个阶段开始失败构建作业,但所有这些都具有相同的根本原因: 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

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

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

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

docker system prune -a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM