当前设置:
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
答案 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
属性。
希望这会有所帮助。