curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh' This command downloads the bundled file only; it does not run it. Inspect the saved source and compare its version before deciding whether to execute it.
Operations helper
Bundled from the tool-tl/docker-data-move.sh project and republished through helper.sh for direct execution, operational handoff, and multilingual documentation.
Compare a saved file with the exact bytes bundled in this page’s build. The file stays in this tab; this tool does not upload or persist it. Maximum 2 MiB.
Expected SHA-2565b35b743ee0609c61f6eca3666a3facb7d35b6e9742a52e5cfcf8ecefdff75e8
Bundled byte count: 12676
Save checksum fileSave the script and checksum in the same directory. On Linux with GNU Coreutils, the command below checks the saved bytes only; it does not run the script. Keep the original filename for this command.
sha256sum --check './docker-data-move.sh.sha256' No comparison yet.
Selected file SHA-256
The checksum and script come from the same site, not an independent signature. A match does not prove safety, authenticity of upstream dependencies, or suitability for your host. Mutable remote dependencies need separate review.
If target validation refuses the path, inspect the target contents and owner because mkdir/chown runs before the refusal. If a failure occurs after Docker services stop, the script has no cleanup trap and may leave them stopped; inspect both data paths, daemon.json, and `sudo journalctl -u docker -u containerd -n 100 --no-pager`, then plan recovery manually. Preserve backups and do not delete or retry blindly.
Download, inspect, then verify the version before execution. A hash only identifies these exact bytes; it does not prove safety. Piped commands run remote content immediately, and upstream dependencies can change.
Enter paths you have checked yourself. This browser tool does not inspect a host or execute commands. Inputs stay in this tab unless you copy or download a plan; saved plans may contain private paths.
Reviewed scope: a local, rootful Docker Engine on Linux/systemd with the default docker service and /etc/docker/daemon.json. Docker Desktop, rootless Docker, remote Docker contexts and custom service/config paths are outside this builder’s scope. Check the Docker context and environment overrides before maintenance.
First read the actual Docker Root Dir on the intended Linux host:
docker info --format '{{.DockerRootDir}}' Use absolute Linux paths, at most 1,024 characters, without trailing slash, dot segments, repeated slashes, backslashes, or surrounding whitespace. Shell punctuation and spaces are quoted literally.
Only path syntax and the script’s string-prefix guard were checked. Symlinks, actual Docker root, mounts, filesystem features, empty target, ownership, space, permissions, and backups remain unverified. The script detects its own Docker root at runtime; the current-root field here does not override it.
Expected SHA-256 for this build’s script bytes: 5b35b743ee0609c61f6eca3666a3facb7d35b6e9742a52e5cfcf8ecefdff75e8
Compare the checksum before reviewing and running this saved file. A matching hash proves byte identity only. If it differs, stop and refresh the page or review the different version; previous verification does not carry over.
This keeps the script’s confirmation prompt. Only --path is generated. No dry-run, automatic rollback, --yes, --auto, or ALLOW_NONEMPTY override is added. Before confirmation the script can create and chown the target. It stops Docker/containerd, copies data, renames the old root and updates daemon.json; a later failure may leave services stopped. Without jq it replaces existing daemon settings. Docker data-root does not move the containerd image store.
Compare Docker Root Dir with the target shown above, and inspect containers, volumes and application data separately. These systemctl checks apply to the declared systemd host; other service layouts are outside this plan. These commands do not prove application integrity.
The JSON plan contains commands for separate manual review and execution. It is not a shell script. Protect any private paths before sharing it.
Download full plan (JSON; not executable)Source and limitations: View the bundled script · Docker data-directory documentation
Separate repository failures, SSH access problems and Docker storage pressure before changing an end-of-life host.
Open topic