Skip to main content
1

Docker Run to Compose

Paste any docker run command to instantly generate a clean, structured docker-compose.yml file with all flags converted to their Compose equivalents.

import TextLineTool from "./_TextLineTool.astro"
Send output to:
Advertisement

How to use Docker Run to Compose

  1. Paste your docker run command into the input textarea.
  2. Optionally select a Compose file format version from the dropdown.
  3. Click Convert to Compose to see the generated docker-compose.yml in the output area.
  4. Use the Save As or Copy button to save the YAML file.

What is Docker Run to Compose?

This tool parses a docker run command line and converts every flag into its docker-compose.yml equivalent. It handles port mappings (-p), volume mounts (-v), environment variables (-e), container name (--name), restart policy (--restart), network mode, resource limits, logging configuration, security options, and many more flags.

All parsing happens entirely in your browser — nothing is sent to any server. Choose between modern Compose format (no version key) or legacy v3.x/v2.x output.

Advertisement

FAQ

Which docker run flags are supported?
The converter handles -p/--publish, -v/--volume, -e/--env, --name, --restart, --network, --cap-add, --device, --dns, -l/--label, --log-driver, --log-opt, --pid, --privileged, --user, -w/--workdir, --entrypoint, --hostname, --ip, --mac-address, --memory, --cpus, --shm-size, --tmpfs, --ulimit, --sysctl, --security-opt, --read-only, --init, --rm, -d, -it, and -t.
What Compose file versions are supported?
You can choose modern format (no version key — recommended for Docker Compose v2+), legacy v3.x, or v2.x format. The modern format is the default and works with all current Docker Compose versions.
Does it handle multi-line docker run commands?
Yes. Paste the command as a single line or with backslash line continuations — the parser handles both. Just make sure the full command including all flags is in the input.
Is my docker run command uploaded anywhere?
No. All parsing happens entirely in your browser using JavaScript. No data is ever sent to any server.
Advertisement