Pular para o conteúdo principal

Conversor Docker Run para Compose

Transforme um comando `docker run …` longo em uma definição de serviço docker-compose.yml equivalente — portas, volumes, ambiente, redes, health-checks, limites de recursos e muito mais. Executado inteiramente no seu navegador.

Entrada

Saída

docker-compose.yml
 
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/docker-run-to-compose-converter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "dockerRunInput": "docker run -d \\\n  --name nginx-proxy \\\n  --resta…"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `docker-run-to-compose-converter` tool (Docker Run to Compose Converter) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/docker-run-to-compose-converter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Conversor Docker Run para Compose — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

O Conversor Docker Run para Compose transforma um comando docker run … longo em uma definição de serviço docker-compose.yml equivalente. Cole o comando que você normalmente digitaria no terminal e obtenha um arquivo Compose pronto para salvar — sem mais traduzir manualmente dezenas de flags -p, -v e -e em YAML.

Foi construído para o momento em que você encontra um container no README de um projeto, um blog post ou no histórico do shell e deseja gerenciá-lo de forma declarativa. Arquivos Compose são mais fáceis de fazer versionamento, revisar e reiniciar do que uma parede de flags de linha de comando.

Como usar

  1. Cole seu comando completo na caixa Comando Docker Run, por exemplo docker run -d --name web -p 8080:80 -v ./html:/usr/share/nginx/html nginx:alpine.
  2. A saída docker-compose.yml é atualizada enquanto você digita.
  3. Copie ou baixe como docker-compose.yml, depois execute docker compose up -d nesse diretório.

Comandos multi-linhas com backslashes finais (\) colam bem — o conversor une as linhas de continuação antes da análise.

O que é convertido

A ferramenta entende os flags que as pessoas realmente usam: -p/--publish (portas), -v/--volume (volumes), -e/--env e --env-file (ambiente), --name, --restart, --network, -l/--label, --user, --workdir, --entrypoint, capabilities (--cap-add/--cap-drop), --device, --dns, --add-host, tmpfs, --ulimit, --sysctl, e os flags de health-check (--health-cmd, --health-interval, e amigos). Flags de recursos — --memory, --memory-reservation, --cpus, --cpu-shares — são emitidos sob um bloco deploy.resources. Qualquer argumento de imagem após o nome da imagem se torna o command do serviço.

FAQ

Ele produz uma chave de versão?

Não. O campo version: no nível superior está obsoleto na especificação Compose atual e é intencionalmente omitido. O docker compose moderno ignora isso.

Como as redes nomeadas são tratadas?

Um valor --network host, none, bridge ou container:<id> é mapeado para network_mode. Qualquer outro nome de rede é tratado como uma rede definida pelo usuário: é adicionado à lista networks: do serviço e declarado na parte inferior do arquivo como external: true, assumindo que você o criou previamente com docker network create.

Por que --cpu-shares é dividido por 1024?

Os CPU shares do Docker são pesos relativos onde 1024 é igual a um CPU completo. O reservations.cpus do Compose espera uma contagem de core fracional, então o valor é convertido (por exemplo, 512 se torna "0.50").

Ele lida com flags que não reconheço?

Flags sem equivalente em Compose (como --rm ou -d) são simplesmente descartados, pois descrevem como a CLI é executada, não o serviço em si. Se a entrada não começar com docker run, você obtém um breve comentário explicando isso em vez de um arquivo quebrado.

É um validador YAML completo?

Não — ele emite um arquivo Compose limpo e corretamente citado, mas não valida o esquema contra a especificação Compose. Revise o resultado antes de fazer deploy.

Privacidade

A conversão é executada inteiramente no seu navegador. Seu comando — incluindo quaisquer segredos em variáveis de ambiente ou labels — nunca é enviado para um servidor. Por isso, evite colar credenciais de produção e trate o arquivo gerado da mesma forma que trataria o comando original.

dockerdocker-composecomposedocker runyamldevopscontainersconverter

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.