The dependable home-server method is to archive the volume’s files with a temporary helper container, save that tar archive in a host directory, and extract it into a newly prepared volume when you need to recover. Keep this archive separate from container images, image commits, and docker container export: Docker explicitly says that docker export does not include associated volume contents. For databases, first use the database’s own backup procedure or stop it as its documentation requires, because a generic file archive is not a transaction-consistency guarantee. The workflow below follows Docker’s documented volume backup and restore pattern.
What a Docker-volume backup must contain
A Docker volume is the persistent data layer used by containers. Removing a container normally leaves a named volume in place; volumes can be removed separately when they are no longer needed. That persistence is useful for upgrades, but it also means the data is not protected merely because the container can be recreated.
As an Amazon Associate I earn from qualifying purchases.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchThink of a home-server deployment as several separate assets:
| Asset | What it contains | How to protect it |
|---|---|---|
| Container image | The application software and its image layers | Keep the image reference and, when appropriate, a locally available image copy. |
| Container definition | Mounts, ports, environment variables, restart policy, networks and command settings | Preserve the Compose file or the container-creation options. |
| Docker volume | Application state such as uploads, configuration generated at runtime and database files | Create a tar archive with a volume-aware helper-container workflow. |
| Host-side backup copy | The archive stored outside the live volume | Copy completed archives to a separate disk or NAS and test restoration. |
Backing up only an image or committing a container does not capture changes stored in an attached volume. A container export is particularly misleading: the docker container export reference states, “The docker export command doesn’t export the contents of volumes associated with the container.” If a volume is mounted over a directory in the container image, export sees the underlying image directory rather than the mounted volume’s files.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Inventory the volume before you copy anything
List volumes and inspect the one used by the application
Start by identifying the actual volume and the container that mounts it. Do not infer a volume name from a project folder or assume a replacement container will find it automatically.
docker volume ls
docker volume inspect APP_DATA_VOLUME
docker inspect APP_CONTAINER
Replace the uppercase names with the real volume and container names. In the inspection output, verify both sides of the mapping: the volume name and the path inside the container, such as /var/lib/app or /data. Record every volume if the application uses more than one; a backup of one volume cannot recreate files kept in another.
Named and anonymous volumes behave differently
A named volume has a stable, human-chosen name on that Docker host. An anonymous volume receives a generated name and is not automatically reused when a newly created container replaces the old one. Docker documents that volumes normally survive container removal, while some anonymous-volume cleanup behavior, including use of --rm in applicable cases, can remove an otherwise unreferenced anonymous volume. Before deleting or recreating a container, use docker inspect or docker volume inspect to identify the exact volume you must preserve.
Save the deployment definition
Keep the Compose file, container-creation command or equivalent deployment notes beside the archive. Include the image tag, volume-to-path mapping, ports, networks, environment-file references and any required startup command. Docker’s Desktop backup guidance likewise separates volume data from the container configuration and recommends retaining the creation options or a Compose file for rebuilding the environment; the same separation is sensible on a home-server Engine installation. See Docker’s backup and restore guidance for that distinction.
Prepare the application for a safe file-level backup
Stop or quiesce services that write to the volume
The tar procedure copies files; it does not coordinate application transactions. For a simple document or media volume, briefly stopping the writer is the straightforward way to obtain a stable point in time. Stop the application container using the method you normally use to deploy it, or place it in the application’s documented maintenance/read-only mode.
For a database, use its official dump or backup mechanism, or follow its documentation for stopping and quiescing writes before archiving its files. A live database can change data, journals and metadata while tar is reading them, so a successful command is not evidence of a transactionally consistent database backup. The generic Docker example makes no such guarantee.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Choose a host directory for the archive
Docker’s example writes the archive to a host directory mounted into a temporary helper container. Create or select a directory with enough free space, and make sure it is not the same live volume you are trying to protect. A directory on the Docker host is convenient for the first copy; a second disk or NAS protects against failure of that host disk.
mkdir -p /srv/docker-backups/app
cd /srv/docker-backups/app
Use a path appropriate to your server. If the directory is on removable or network storage, confirm that it is mounted before starting the backup and that the account running Docker can access it.
Back up a volume with Docker’s helper-container workflow
The helper container temporarily mounts the application’s volumes and the host backup directory. It runs tar against the mounted application path, then is removed automatically.
- Confirm the source mapping. From the inspection output, identify
APP_CONTAINER, the source volume and its in-container path, represented below as/APP_DATA_PATH. - Stop or quiesce the writer. Apply the application- or database-specific procedure described above.
- Change into the archive directory. The
$PWDbind mount makes the current host directory available as/backupinside the helper. - Create the archive. Run the documented pattern:
docker run --rm
--volumes-from APP_CONTAINER
-v "$PWD":/backup
ubuntu
tar cvf /backup/backup.tar /APP_DATA_PATH
--volumes-from APP_CONTAINER gives the helper access to the same volume mounts as the source container. The -v "$PWD":/backup option exposes the host directory where the archive will be written. tar cvf walks the application path and creates backup.tar there. The command uses Docker’s documented ubuntu helper image and the same mount-and-tar pattern shown in the Volumes guide.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesDo not change /APP_DATA_PATH to the host path shown by docker volume inspect. Use the path inside the container that actually mounts the volume. If the application has several volumes, make a separate archive for each or use a helper configuration that mounts every required volume and records their paths clearly.
Check the archive before declaring success
Confirm that the file exists, has a plausible size and can be listed:
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
ls -lh backup.tar
tar tvf backup.tar | less
The listing tells you whether tar stored a leading directory such as APP_DATA_PATH. That detail controls the extraction command during restore. If the archive is empty, unexpectedly small or contains the wrong path, stop and fix the mapping rather than copying it to another disk.
After the command completes, copy the archive to separate storage. Keep the original until the second copy has finished and can be listed. A checksum such as sha256sum backup.tar can help you detect an altered or incomplete copy when you move it between disks; it does not replace an actual restore test.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Restore into a clean volume
Prepare a destination without disturbing the source
Restore first into a new, separate volume whenever possible. This preserves the original data if the path, archive or application configuration is wrong.
docker volume create RESTORE_VOLUME
Create a temporary destination container (or recreate the application container) so that RESTORE_VOLUME is mounted at the same in-container path used by the original service. The restore command below refers to that container as RESTORE_CONTAINER and the mount path as /APP_DATA_PATH. Verify the mapping with docker inspect RESTORE_CONTAINER before extracting.
Extract the archive with the correct directory handling
Place backup.tar in a host directory and run the helper against the destination mount:
docker run --rm
--volumes-from RESTORE_CONTAINER
-v "$PWD":/backup
ubuntu
bash -c 'cd /APP_DATA_PATH && tar xvf /backup/backup.tar --strip 1'
Docker’s example uses --strip 1 because the archive contains one leading directory component. Do not apply that option blindly: inspect the archive with tar tvf first. If the files are already rooted exactly as they should be under the destination path, use extraction flags that preserve that structure instead. An incorrect strip count can place files one directory too high or too low.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Start and verify the restored service
- Check the destination volume’s files from a helper container or by starting the application in an isolated test configuration.
- Start the application with the restored volume and the saved image and configuration.
- Verify the application-level result: expected users can sign in, representative documents or media open, permissions are usable by the service account and recent records are present.
- Only after those checks pass should you stop the original service and switch production traffic or the normal container definition to the restored volume.
Docker describes the helper-container technique as usable for restoring to the same or another container. A command that exits successfully proves only that tar completed; it does not prove that the application can interpret the restored data.
Why docker export is not a volume backup
docker container export creates an archive of a container’s filesystem layer, excluding data in volumes mounted on that container. The official reference is explicit about this limitation: “The docker export command doesn’t export the contents of volumes associated with the container.”
This explains a common surprise: an exported container can look complete when inspected, yet its uploads, configuration or database files are absent because those files lived in a mounted volume. Use a volume-aware archive, an application-native backup, or both. The same warning applies to relying on an image commit as the only copy of state; attached volume changes are separate data.
Free tools Windows power users keep installed
One-click scans. No signup required.
Choose the right method for databases and other stateful applications
| Method | Includes volume contents? | Consistency behavior | Can target a clean volume? | Second copy required? |
|---|---|---|---|---|
| Helper-container tar archive | Yes, for the mounted path you select | Filesystem-level only; stop or quiesce writers when required | Yes, extract into a new destination volume | Strongly recommended; copy the archive off the Docker host |
| Database or application-native backup | Yes, in the format produced by that application | Uses the application’s own consistency rules; follow its current official documentation | Usually, by restoring the dump or backup into a clean data directory; exact steps depend on the application | Yes; store the dump separately from the live host |
docker container export |
No, associated volume contents are excluded | Not a volume-consistency solution | Not for the missing volume data | Does not correct the omission |
For a database, an application-native dump is often the primary recovery artifact, while a stopped-volume tar archive can provide a second layer for configuration or non-database files. Keep the two artifacts clearly named and document which one is authoritative for recovery.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Keep a recoverable copy outside the Docker host
The Docker example’s host directory is a staging location, not protection against a failed host disk. After creating backup.tar, copy it to a separate physical disk, NAS or other storage that is not permanently dependent on the same Docker host. This is an operational choice, not a Docker requirement, but it is the difference between a local snapshot and a usable recovery copy after host failure.
- Use a predictable name containing the application and backup date, while retaining the original archive format.
- Record which volume, container mount path and application version produced the archive.
- Keep the Compose file or container-creation options with the archive metadata.
- Protect archives that contain secrets or personal data with the access controls and encryption appropriate to your storage.
- Remove old copies only according to a retention rule that matches how far back you may need to recover.
Do not assume that a copied file is restorable. Periodically extract a copy into a disposable destination volume and perform the same application-level checks used after a real incident.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Test a restore without risking production
- Create a new destination volume and a test container with the intended mount path.
- Copy or mount the archive from the separate storage location.
- List the archive and decide whether the leading-directory removal option is appropriate.
- Extract into the test volume with the helper-container command.
- Start the application on an isolated network or alternate port so it cannot interfere with the live instance.
- Check representative data, log-in behavior, file writes, background jobs and any database integrity checks supplied by the application.
- Record the time required and any manual steps, then update the deployment notes while the procedure is fresh.
A restore drill exposes wrong volume names, missing Compose settings, bad permissions and incorrect tar paths before an emergency does. It also confirms that the archive on the external disk—not merely the copy still sitting on the Docker host—can produce a working service.
Troubleshoot common failures
The archive contains no application data
Inspect the source container and confirm that the volume is mounted at the path you supplied to tar. The path in docker volume inspect is a host implementation detail; the tar command needs the container path. If the application uses multiple volumes, verify each one separately.
Permission denied while creating the archive
Check write permission on the host directory mounted at /backup and read permission for the helper over the source files. Choose a backup directory the Docker process can write, and preserve ownership and mode information when your application depends on them. Do not “fix” a permission error by deleting the source volume.
Files appear in an extra directory after restore
List the archive with tar tvf backup.tar. If it begins with a single top-level directory, --strip 1 may be appropriate when extracting from the destination path. If it does not, adjust the extraction command to match the actual structure. The archive listing, not a guessed flag, should determine the choice.
The replacement container starts with an empty volume
Check the new container’s mount configuration and compare its volume name with the one you backed up. Anonymous volumes are especially easy to lose track of because a recreated container may receive a new generated name. Use docker inspect and docker volume inspect, then attach the intended named volume or the restored destination explicitly.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →The files are present but the application reports corruption
Determine whether the source was a live database or another application with its own consistency requirements. Restore the application-native dump if available, or repeat the archive after stopping or quiescing the service according to its official documentation. A successful tar exit cannot repair a backup made while the application was changing interdependent files.
The original host is unavailable
On a replacement Docker host, recreate the deployment from the saved Compose file or container options, create a destination volume, copy the archive from external storage, and perform the restore steps. Do not expect an image or container export to supply the missing volume data.
A practical operating checklist
- List and inspect every volume used by the service.
- Record the container-to-volume mount paths and preserve the Compose file or creation options.
- Stop or quiesce writers when the application’s format requires it; use a native database backup where appropriate.
- Write a tar archive through a helper container into a host-side backup directory.
- Inspect the archive contents and keep a copy on separate storage.
- Restore into a new volume first, selecting extraction flags from the archive’s actual directory structure.
- Start an isolated test container and verify the application, not just the tar command.
- Document the tested restore procedure and repeat the drill often enough to detect configuration or storage changes.
This separation of image, container configuration and volume data is the key to a dependable home-server recovery plan. Docker’s own volume documentation calls volumes the preferred mechanism for persisting data generated and used by containers; treating those volumes as first-class backup objects keeps a rebuild from turning into data loss.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools

