记录一下那天晚上的排查过程。系统盘被容器和镜像占满,想整体迁到数据盘,又担心迁移过程中容器起不来。

把日志和配置对完,能解释这个现象的基本就这几处。默认数据目录在系统盘上。也可能是镜像层与日志长期累积。

还有一种情况,挂载卷和数据目录混在同一分区。

动手时先确认当前数据目录占用

docker info | grep -i 'docker root dir'

接着停止服务并同步数据

systemctl stop docker && rsync -aHAX /var/lib/docker/ /data/docker/

修改数据目录配置

grep -n data-root /etc/docker/daemon.json

等前面都确认过,再启动后核对镜像与容器

systemctl start docker && docker ps -a | head

同样的操作我在测试机上先走了一遍,线上只做验证过的部分。

这台环境是别人交接的,不少默认值被动过,只能一项项核。

别只看报错消失,验证要多做一步。数据目录切换到新盘,镜像和容器数量与迁移前一致,系统盘占用明显下降。

迁移前先停服务,运行中拷贝会得到不一致的镜像层;切换完成后确认挂载点在 fstab 里已经持久化。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189