【问题标题】:Gitlab runner: cannot reclaim Docker space on Ubuntu - no space left on deviceGitlab runner:无法在 Ubuntu 上回收 Docker 空间 - 设备上没有剩余空间
【发布时间】: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

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

【问题讨论】:

标签: docker ubuntu gitlab gitlab-ci-runner diskspace


【解决方案1】:

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

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

docker system prune -a

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2015-08-16
    • 2015-08-30
    • 1970-01-01
    • 2015-11-24
    相关资源
    最近更新 更多