运维脚本

docker-data-move.sh

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

一键命令

curl -fsSL helper.sh/docker-data-move.sh | sudo bash
curl -fsSL 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。

相关文章

docker-data-move.sh 在真实运维里最适合的使用场景

一篇面向运维现场的说明,讲清楚当 Docker 存储把系统盘吃满、手工迁移又有风险时,什么时候该用 docker-data-move.sh,以及脚本实际在做什么。

相关专题

CentOS 7 运维恢复

面向仍在运行 CentOS 7 的遗留主机,集中处理 yum 源失效、镜像仓库 404、Docker 数据迁移等运维恢复场景。

查看专题

问题页面

CentOS 7 上如何迁移 Docker data-root

在根分区或 home 分区告急前,把 Docker 数据目录迁移到更大的挂载点。

打开页面