How to use
- Paste the Compose file on the left, or click Load sample.
- A docker run command appears on the right for each service, in file order.
- Check the yellow note for fields that were not converted (such as build, deploy or depends_on), then copy the commands.
Options explained
- Supported fields
- image, container_name, command, entrypoint, ports, volumes (short and long syntax), environment, env_file, networks, network_mode, restart, user, working_dir, labels, logging, ulimits, healthcheck, resource limits and more.
- Fields not converted
- Compose-only fields such as build, deploy, depends_on, secrets and configs are listed in the note. A service without an image gets a placeholder image name; build it yourself first.
- Several networks
- docker run can join only one network with --network; connect the others afterwards with docker network connect.
Example
A service like this one:
services:
web:
image: nginx:1.27
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
- data:/var/cache/nginx
environment:
TZ: UTC
restart: unless-stopped
depends_on: [db]
becomes:
docker run -d \
--name web \
-p 8080:80 \
-v ./html:/usr/share/nginx/html:ro \
-v data:/var/cache/nginx \
-e TZ=UTC \
--restart unless-stopped \
nginx:1.27
depends_on has no docker run equivalent, so it is listed in the note instead. Start the services it refers to yourself, in the right order. The relative path ./html is resolved against the directory you run the command from, so run it from the folder that holds that directory.
Frequently asked questions
Why does every command include -d?
Compose normally runs services in the background (docker compose up -d), so the commands do too. Remove -d to see the output in the foreground.
Do named volumes and networks need to exist first?
docker run creates missing named volumes automatically, but custom networks must be created first with docker network create <name>.
Is my file uploaded?
No. Parsing and conversion run in your browser.
Privacy
This tool runs entirely in your browser. Your files and text are processed on your device and are never uploaded to our servers.