运维脚本

docker-data-move.sh

来自 tool-tl/docker-data-move.sh 项目,并通过 helper.sh 重新分发,方便直接执行、运维交接和多语言文档说明。

一键命令

curl -fsSL https://helper.sh/docker-data-move.sh | sudo bash
curl -fsSL https://helper.sh/docker-data-move.sh | sudo bash -s -- --auto --yes

运行要求

  • Linux 主机
  • 已安装 Docker
  • 已安装 rsync
  • 需要 root 权限
  • 可选安装 jq 以更安全地修改 JSON

适用场景

  • 把 Docker 从已满的根分区或 home 分区迁到更大的挂载点
  • 标准化磁盘告急主机的恢复流程
  • 降低修改 Docker daemon.json 时的人工失误

脚本亮点

  • 自动识别当前 Docker Root Dir
  • 扫描本机磁盘并按剩余空间推荐迁移目标
  • 切换前自动备份旧 Docker 数据目录和 daemon 配置

推荐流程

  1. 检查当前 Docker data-root,并估算迁移所需空间。
  2. 通过交互选择目标路径,或使用 --auto 自动挑选。
  3. 停止 Docker 服务,使用 rsync 迁移数据,更新 daemon.json 并重启 Docker。
  4. 验证新的 Docker Root Dir,并确认容器运行正常。

安全提示

  • 在生产主机执行前先审阅脚本内容。
  • 对磁盘布局不熟时优先使用交互模式。
  • 只有确认备份和目标容量都没问题后再加 --yes。