Converta instantaneamente entre comandos docker run e Docker Compose YAML.
| Sinalizador | Chave Compose | Exemplo |
|---|---|---|
| --name | container_name | --name myapp |
| -p / --publish | ports | -p 8080:80 |
| -e / --env | environment | -e NODE_ENV=prod |
| -v / --volume | volumes | -v /host:/container |
| --network | networks | --network appnet |
| --restart | restart | --restart unless-stopped |
| --entrypoint | entrypoint | --entrypoint "/bin/sh" |
| -m / --memory | mem_limit | -m 512m |
| --cpus | cpus | --cpus 1.5 |
| -u / --user | user | -u 1000:1000 |
| -w / --workdir | working_dir | -w /app |
| -l / --label | labels | -l app=myapp |
O YAML gerado segue a Especificação Compose (usada pelo Docker Compose V2+). A chave legada version: é omitida intencionalmente — está obsoleta e não é mais necessária pelo Docker Desktop e Docker Engine modernos.
Os comandos docker run tornam-se difíceis de gerenciar quando incluem múltiplos flags para portas, volumes, variáveis de ambiente e redes. Um docker-compose.yml é versionado, legível e suporta orquestração de múltiplos serviços com um único comando "docker compose up".
O conversor suporta os flags mais comuns: -d/--detach, --name, -p/--publish, -e/--env/--env-file, -v/--volume, --network, --restart, --memory/-m, --cpus, --user, --workdir/-w, --entrypoint, --label/-l e comandos de múltiplas palavras via CMD. Imagem e tag são sempre extraídas.
Geralmente, para serviços simples, o YAML gerado funciona como está. Para configurações complexas, pode ser necessário adicionar depends_on, healthcheck, contexto de build ou secrets. O gerador cria um ponto de partida mínimo e correto que você pode estender.
O conversor gera formato Compose moderno sem a chave version:, seguindo a Especificação do Compose (usada pelo Docker Compose V2 e posterior). A chave version: está obsoleta na especificação mais recente.