v0.4.0 Released

Docker Storage Migration. Fast. Isolated. Reliable.

Import, Export and Migrate Docker Volumes and Bind Mounts on Windows, macOS, and Linux.
Running directly over the native Docker Engine API with zero external host dependencies.

3+ Engines
Docker, Podman, Colima etc.
Sudo-Free
No elevated privileges required
Cross-Platform
Windows, macOS, Linux Parity

See DSMT in Action

Witness how DSMT performs migrations using zero local requirements. Fully containerized, lightning-fast, and completely clean.

Try a Volume name or Bind Mount path:
Terminal
$

Auto-Detection Intelligence

Automatically detects whether the target is a Docker volume or a local host bind-mount path.

Native Socket Connection

Automatically detects and connects to the local Docker engine via Unix sockets or Windows Named Pipes.

Zero Host Dependencies

Spawns isolated, lightweight containers (busybox) to process archives. No host tools required.

Direct Tarball Archiving

Mounts the Docker storage alongside the target host path to archive and compress in a single pass.

Guaranteed Self-Cleaning

Ensures container cleanup, automatically removing temporary run containers when done or if interrupted.

Install DSMT

Get up and running in seconds. Install via package manager, run a quick install script, or download the precompiled binary directly.

Mac / Linux (cURL & Bash)
curl -fsSL https://dsmt.itskdhere.com/install.sh | sh
Windows (PowerShell)
irm https://dsmt.itskdhere.com/install.ps1 | iex

These one-liners download, verify, and place the pre-compiled binary directly in your system PATH.

CLI Docs & Reference

Detailed command specifications, flags, and usage patterns. Master the simple yet powerful interface of DSMT.

dsmt exportCommand

The export command extracts data from a specified Docker volume or local host directory (bind mount) and packages it into a compressed gzip tarball (.tar.gz). DSMT runs a secure, isolated container to perform the compression, ensuring no extra archival dependencies are required on your host machine.

Usage Syntax
dsmt export <src> <dst> [options]
Arguments
ArgumentTypeRequiredDescription
<src>StringYesName of the Docker volume or absolute path of the local bind mount to export.
<dst>StringYesTarget directory path on the host where the exported tarball will be saved.
Options
FlagDescription
-v, --volumeForce DSMT to treat the <src> parameter as a Docker Volume (disables auto-detection).
-b, --bindForce DSMT to treat the <src> parameter as a Host Bind Mount (disables auto-detection).
-h, --helpDisplay help and usage details for this command.
Examples
Export standard volumeExports the volume 'mongodb_data' into 'mongodb_data.tar.gz' in the current folder.
dsmt export mongodb_data ./
Export bind mountExports the directory '/var/www/html' to './backups/html.tar.gz'.
dsmt export /var/www/html ./backups
Force volume exportForces DSMT to interpret 'ambiguous_name' as a volume, skipping folder path checks.
dsmt export -v ambiguous_name /backups
Smart Target Auto-Detection

DSMT automatically detects if the source <src> parameters refer to a Docker Volume or a local Host Bind Mount:

Host Bind Mounts

Any target containing folder separators (e.g. /, ./, or windows paths like C:\) is resolved as a host path.

Docker Volumes

Single word or alphanumeric names are matched directly against active Docker Volumes on the daemon.

To override auto-detection and resolve naming ambiguity, use explicit flags: -v, --volume or -b, --bind.