Your files stay on your device

# docker run to compose converter

Turn a docker run command into a compose service definition. Known flags map one-to-one, unknown flags are listed UNMAPPED in the loss report, never dropped. $VARIABLES pass through verbatim.
run → composecompose → runDockerfile lintdocker run commandConvert

- No validation against the compose spec’s version of your choice. The emitted keys are the stable cross-version core.
- $VARIABLES are not resolved or validated; compose interpolates at up time with its own rules.
- cap-add/cap-drop, devices, healthcheck, and logging map in BOTH directions now; --sysctl, mounts long-syntax, and friends stay unmapped rather than guessed.
- Dockerfile lint is ten named rules, nothing more: no parse of RUN shell semantics, no build-cache analysis.
Paste, drop, or type to begin. Everything stays on this device.

## More config file tools

- [chmod calculator](/config/chmod)
- [.env editor](/config/env)
[All config file tools](/config)

---

Canonical HTML: https://nutter.tools/config/docker/
Markdown version: https://nutter.tools/config/docker/index.md
Plain-text version: https://nutter.tools/config/docker/index.txt
Agent index: https://nutter.tools/llms.txt

