Docker Run → Compose
Converta um comando docker run para o equivalente docker-compose.yml automaticamente. Mapeia portas, volumes, variáveis de ambiente, redes e restart policies.
Flags suportadas
--name → container_name
-p / --publish → ports
-v / --volume → volumes
-e / --env → environment
--network → networks
--restart → restart
--entrypoint → entrypoint
-u / --user → user
-w / --workdir → working_dir
-l / --label → labels
--hostname → hostname
--memory / -m → mem_limit
Do comando solto a um Compose versionável
Aquele container que você subiu com um docker run de cinco linhas funciona, mas o comando mora no histórico do seu shell e mais ninguém consegue reproduzir. Cole o comando aqui e receba o docker-compose.yml equivalente: portas, volumes, variáveis de ambiente, restart policy, rede, usuário e limite de memória, cada um mapeado para a chave certa, pronto para entrar no repositório junto com o projeto.
O conversor entende aspas e continuação de linha com barra invertida, aceita tanto -p 8080:80 quanto --publish=8080:80, e descarta -d e --rm de propósito: no Compose, o detach é decidido na hora do docker compose up -d. Volumes nomeados ganham a seção volumes: no fim do arquivo, redes que não sejam bridge, host ou none ganham networks:, e o YAML sai sem a linha version:, que o Compose v2 considera obsoleta.
Revise antes de usar: flags fora da lista suportada, como --cap-add, --device ou --gpus, são ignoradas em silêncio, então se o seu comando depende delas, acrescente à mão no YAML. Um docker compose config valida a sintaxe do resultado. A conversão roda inteira no navegador, o que importa aqui: comando docker run costuma carregar senha de banco em -e, e nada disso é enviado a servidor nenhum.
Perguntas frequentes
Por que o -d não aparece no arquivo gerado?
Todas as flags do docker run são suportadas?
Preciso adicionar a linha version no arquivo?
Ferramentas Relacionadas
Gerador de Dockerfile
Monte um Dockerfile a partir de templates comuns: Node, Python, Go, Static Nginx, com multi-stage opcional, healthcheck e usuário não-root. Tudo no navegador.
docker-compose MongoDB
Gera um docker-compose pronto para MongoDB, com usuário e senha de root, a porta 27017 publicada e volume persistente. O nome do banco você cria depois de subir.
docker-compose MySQL
Gera um docker-compose pronto para MySQL, com a senha de root, a porta 3306 publicada e volume persistente. Escolha a tag da imagem e suba o banco local.