curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh' 此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。
运维脚本
来自 tool-tl/docker-data-move.sh 项目,并通过 helper.sh 重新分发,方便直接执行、运维交接和多语言文档说明。
与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。
预期 SHA-2565b35b743ee0609c61f6eca3666a3facb7d35b6e9742a52e5cfcf8ecefdff75e8
内置文件字节数: 12676
保存校验文件将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。
sha256sum --check './docker-data-move.sh.sha256' 尚未比较。
所选文件 SHA-256
校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。
目标被拒绝时,检查目录内容和所有者,因为 mkdir/chown 在拒绝前已执行。Docker 服务停止后若发生错误,脚本没有清理 trap,服务可能保持停止。检查新旧数据路径、daemon.json 和 `sudo journalctl -u docker -u containerd -n 100 --no-pager`,保留备份并手动制定恢复方案;不要删除或盲目重跑。
先下载、审阅并核对版本,再决定是否执行。哈希只能标识这一版字节,不能证明安全。pipe 命令会立即执行远程内容;上游依赖也可能变化。
填写你已自行核对的路径。此工具不会探测主机或执行命令;除非主动复制或下载方案,输入只留在当前标签页。保存的方案可能包含私有路径。
已审阅范围:Linux/systemd 本机的 rootful Docker Engine、默认 docker 服务及 /etc/docker/daemon.json。Docker Desktop、rootless Docker、远程 Docker context、自定义服务或配置路径不在此构建器范围内。维护前先核对 Docker context 和环境变量覆盖。
先在目标 Linux 主机上只读查看实际 Docker Root Dir:
docker info --format '{{.DockerRootDir}}' 使用不超过 1,024 个字符的 Linux 绝对路径;不接受尾随或重复斜杠、. 或 .. 段、反斜杠及首尾空白。空格和 Shell 标点会按字面值引用。
仅检查了路径格式和脚本的字符串前缀限制。符号链接、实际 Docker 根目录、挂载、文件系统能力、目标是否为空、所有者、空间、权限和备份均未验证。脚本运行时会自行检测 Docker 根目录;这里填写的当前路径不会覆盖检测结果。
此构建中脚本字节对应的 SHA-256: 5b35b743ee0609c61f6eca3666a3facb7d35b6e9742a52e5cfcf8ecefdff75e8
审阅和运行本地文件前先核对。哈希一致仅证明字节相同。若不一致,请停止并刷新页面,或审阅不同版本;不能沿用旧版验证结论。
保留脚本的确认提示,仅生成 --path。不添加 dry-run、自动回滚、--yes、--auto 或 ALLOW_NONEMPTY 覆盖。确认前脚本就可能创建目标并 chown;之后会停止 Docker/containerd、复制数据、重命名旧目录并更新 daemon.json,后续失败可能让服务保持停止。没有 jq 时会替换已有 daemon 设置。Docker data-root 不会迁移 containerd image store。
把 Docker Root Dir 与上面的目标路径比较,并单独检查容器、卷和业务数据。这些 systemctl 核验针对已声明的 systemd 主机,其他服务布局不在此方案范围内。这些命令不能证明业务数据完整。
JSON 方案记录需分别审阅、手动执行的命令,不是 Shell 脚本。分享前请检查其中的私有路径。
下载完整方案(JSON,不可执行)源码与限制: 查看本站脚本 · Docker 数据目录文档
变更已结束支持的主机前,先区分仓库故障、SSH 访问问题和 Docker 存储压力。
查看专题