Ubuntu上的Docker主机占用了VM上的所有空间

时间:2019-12-02 19:43:38

标签: docker ubuntu bamboo agent

当前设置:

Machine OS: Windows 7
Vmware: VMWare workstation 8.0.2-591240
VM: Ubuntu LTS 16.04
Docker on Ubuntu: Docker Engine Community version 19.03.5

我最近设置了docker容器来运行Bamboo代理。此后,它一直没有足够的空间。谁能建议我安装选项或任何其他技巧来降低音量?

Ps。我之前进行过类似的设置,直到VM损坏并需要设置新VM之前,一切都很好。

root@ubuntu:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5.8G     0  5.8G   0% /dev
tmpfs           1.2G  113M  1.1G  10% /run
/dev/sda1        12G   12G     0 100% /
tmpfs           5.8G     0  5.8G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           5.8G     0  5.8G   0% /sys/fs/cgroup
tmpfs           1.2G     0  1.2G   0% /run/user/1000
overlay          12G   12G     0 100% /var/lib/docker/overlay2/e0e78a7d84da9c2a1e1c9f91ee16bc6515d8660e1a2db5e207504469f9e496ae/merged
overlay          12G   12G     0 100% /var/lib/docker/overlay2/8f3a73cd0b201f4a8a92ded0cfab869441edfbc2199574c225adbf78a2393129/merged
overlay          12G   12G     0 100% /var/lib/docker/overlay2/3d947960c28e834aa422b5ea16c261739d06bf22fe0f33f9e0248d233f2a84d1/merged

2 个答案:

答案 0 :(得分:0)

12G的空间很小,无法利用缓存的图像来加快构建过程。因此,假设您不想扩展该VM的根分区,那么您可以做的是在每次构建或每X个构建之后清理映像。

例如,我采用第二种方法,我每晚在Jenkins代理中执行一项更清洁的工作,以防止磁盘空间不足。

答案 1 :(得分:0)

默认情况下,Docker安装占用/ var空间。清理未使用的容器将需要一段时间,并且在您真正无法删除更多容器时会停止让步。唯一的方法是将守护程序的数据根映射到更多可用磁盘空间。您可以通过在data-root文件中的以下参数

daemon.json中进行配置来完成此操作。

{
“data-root”: “/new/path/to/docker-data”
}

完成此操作后,请执行systemctl daemon-reload重新加载配置更改。

这样做将使docker将所有现有容器卷数据复制到新路径。这将永久解决您的空间问题。

如果不想在重新加载守护进程期间杀死正在运行的容器,则必须在live-restore文件中配置daemon.json属性。
希望这会有所帮助。