[特殊字符] Dify Docker 迁移与启动问题总结
·
1️⃣ 背景
系统原本 / 系统盘 39G,已用 34G → Docker 数据目录 /var/lib/docker 占用大量空间
Docker 镜像和容器存储过大,导致无法加载新镜像(例如 ubuntu/squid:latest)
目标:将 Docker 数据目录迁移到大容量数据盘 /data,保持 Dify 正常运行
2️⃣ 检查系统空间
df -h
输出示例:
/dev/mapper/klas-root 39G 34G 4.3G 89% /
/dev/sdb1 1007G 73G 883G 8% /data
/data 是大容量盘 → 迁移 Docker 数据的目标
/var/lib/docker 在小系统盘 → 迁移前会爆盘
3️⃣ 原始 mv 操作问题
mv /var/lib/docker/* /data/docker/
出现错误:
mv: overwrite '/data/docker/overlay2'?
原因:第一次 mv 已经部分传输,第二次 mv 发现目标已有文件
Ctrl+C 中断 → 迁移不完整
4️⃣ 确认迁移是否在进行
方法 1:观察目录大小
watch -n1 "du -sh /data/docker"
如果数字在不断增加 → 正在传输
如果不动 → 迁移完成或卡住
方法 2:用 rsync 安全迁移
rsync -avh --progress /var/lib/docker/ /data/docker/
支持中断续传
显示实时进度
不会重复覆盖已经复制好的文件
传输完成后 to-chk=0 → 迁移成功
5️⃣ 迁移完成后配置 Docker 使用新目录
修改 /etc/docker/daemon.json:
{
"data-root": "/data/docker",
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.163.com/",
...
]
}
停止 Docker 服务:
systemctl stop docker
systemctl stop containerd
可选:备份旧目录
mv /var/lib/docker /var/lib/docker.bak
创建软链接(保证旧路径可用):
ln -s /data/docker /var/lib/docker
启动 Docker:
systemctl start docker
检查 Docker 是否使用新目录:
docker info | grep "Docker Root Dir"
更多推荐
所有评论(0)