Docker Run → Compose
Container DevOps Suite

Conversor de Docker Run para Docker Compose (CLI para YAML) Guia do Desenvolvedor

Converta flags de linha de comando docker run, mapeamentos de volume, portas e variáveis de ambiente em arquivos docker-compose.yml limpos e prontos para produção.

100% Client-Side Privacy
Zero Server Transmission
Presets:
Opt compose version
Opt indent
Opt env format
Opt volume format
Input label
# ==============================================================================
# Generated by ToolsAA - Docker Run to Docker Compose Converter
# https://toolsaa.com/docker-run-to-compose (100% Client-Side Privacy)
# ==============================================================================
services:
  nginx-proxy:
    container_name: nginx-proxy
    image: nginx:alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /etc/nginx/conf.d:/etc/nginx/conf.d:ro
      - /var/log/nginx:/var/log/nginx
      - nginx-certs:/etc/ssl/certs:ro
    environment:
      - NGINX_PORT=80
      - NGINX_HOST=toolsaa.com
    networks:
      - web-gateway
    deploy:
      resources:
        limits:
          cpus: "1.0"
          memory: 256m

volumes:
  nginx-certs:

networks:
  web-gateway:
    driver: bridge
Stats card1
1 Service
nginx:alpine
Stats card2
2 Ports Published
3 Volumes (1 Named)
Stats card3
2 Environment Variables
Standard Sandbox Security

Client-Side Processing

High-performance processing executed entirely in browser memory.

Zero Server Upload Privacy

All data payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Referência técnica e guia de arquitetura

Conversor de Docker Run para Docker Compose (CLI para YAML) Guia do Desenvolvedor — Guia de referência

Converta flags de linha de comando docker run, mapeamentos de volume, portas e variáveis de ambiente em arquivos docker-compose.yml limpos e prontos para produção.

Parâmetros principais e controles

-p, --publishstring | array[string]

Publica portas do contêiner na interface do host. Mapeia diretamente para a lista 'ports:' no docker-compose.yml (ex: '8080:80').

Padrão: Opcional
-v, --volumestring | array[string]

Monta diretórios do host ou volumes nomeados gerenciados pelo Docker. Mapeia para as seções de serviço e raiz de 'volumes:'.

Padrão: Opcional
-e, --envstring | array[string]

Define variáveis de ambiente no contêiner. Convertido para a estrutura de chave-valor ou lista em 'environment:'.

Padrão: Opcional
--restartstring

Define a política de reinicialização ('no', 'always', 'on-failure', 'unless-stopped'). Mapeia diretamente para 'restart:'.

Padrão: no
--networkstring

Conecta o contêiner a uma rede bridge ou externa. Mapeia para as seções 'networks:' do serviço e da raiz.

Padrão: default

Dicas profissionais e melhores práticas

Omitir o atributo obsoleto 'version' no topo

Na especificação Compose moderna (Docker Compose v2+), o atributo 'version: "3.8"' tornou-se obsoleto e deve ser omitido para evitar avisos de linters.

Sempre coloque portas entre aspas

Declare portas sempre como strings entre aspas (ex: '8080:80' ou '22:22'). Sem aspas, parsers YAML 1.1 podem interpretar a notação como base sexagesimal (base 60).

Isole segredos em arquivos .env

Em vez de expor credenciais em '-e DB_PASSWORD=...' no próprio compose.yml, utilize um arquivo '.env' externo protegido e carregue-o via 'env_file:'.

Orquestre múltiplos contêineres juntos

Cole vários comandos 'docker run' separados por quebras de linha para criar um ecossistema com múltiplos serviços integrados na mesma rede interna.

Problemas comuns e solução de problemas

Variáveis de shell como $(pwd) quebram o Compose

Comandos que utilizam '-v $(pwd)/app:/app' devem ser adaptados no Compose para caminhos relativos como './app:/app' ou caminhos absolutos do host.

Erro de volume não declarado ('undeclared volume') ao subir o Compose

Ao converter '-v meu_volume:/dados', certifique-se de que 'meu_volume' esteja declarado no bloco raiz 'volumes:' no final do arquivo YAML.

Modo background (-d) ou interativo (-it) não constam no Compose

O Docker Compose executa serviços em segundo plano via 'docker compose up -d'. Para o comportamento do '-it', utilize 'stdin_open: true' e 'tty: true'.

Perguntas frequentes (FAQ)

Como este conversor transforma parâmetros docker run em YAML do Docker Compose?▼

O conversor analisa sintaticamente os argumentos POSIX da linha de comando (-p, -v, -e, --restart, etc.) e os traduz para a estrutura hierárquica correspondente da especificação Compose.

Meus comandos e dados de infraestrutura permanecem privados?▼

Sim, 100%. Todo o processamento léxico e a renderização do YAML acontecem localmente na memória JavaScript do seu navegador, sem envio de dados para servidores.

Posso converter múltiplos comandos docker run simultaneamente?▼

Sim. Basta inserir vários comandos separados por novas linhas. A ferramenta detecta cada serviço com base na imagem ou no parâmetro --name e unifica o arquivo Compose.

Por que a tag 'version' não é mais necessária no Docker Compose?▼

Em 2020 a Docker unificou os esquemas no padrão aberto Compose Specification. O Docker Compose v2 trata todos os arquivos de maneira unificada sem necessidade do campo version.

Ferramentas e utilitários relacionados

Todas as ferramentas →
Guia do Desenvolvedor: Gerador de Configuração Nginx Upstream e Balanceamento de Cargadeveloper

Gere blocos Nginx upstream prontos para produção com round-robin, least_conn, ip_hash, conexões keepalive e health check passivo.

Abrir ferramenta→
Conversor de Cron para Kubernetes CronJob YAML e Gerador de Especificaçõesdeveloper

Converta expressões crontab padrão em manifestos Kubernetes CronJob prontos para produção com restartPolicy, concurrencyPolicy, limites de recursos e suporte a fuso horário.

Abrir ferramenta→
Gerador de Esquemas GraphQL SDL a partir de JSON (Types, Queries e Inputs) - Guia do Desenvolvedordeveloper

Gere tipos de objeto, tipos de entrada (inputs) e esquemas de consulta na linguagem de definição de esquemas (SDL) do GraphQL a partir de JSON.

Abrir ferramenta→
Gerador de Regras de Alerta e Gravação Prometheus (PromQL) - Guia do Desenvolvedordeveloper

Construa e valide visualmente regras de alerta PromQL, regras de gravação (recording rules), limites, rótulos e anotações de runbook.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Tipos de Resolver TypeScript a partir de GraphQL SDLdeveloper

Gere interfaces de resolver TypeScript fortemente tipadas, argumentos de query/mutation e tipos de contexto a partir de esquemas GraphQL SDL.

Abrir ferramenta→
Guia do Desenvolvedor: Conversor de cURL para C# (.NET HttpClient, RestSharp e Flurl)developer

Converta comandos cURL em código C# idiomático para .NET HttpClient, RestSharp ou Flurl.Http com padrões assíncronos e melhores práticas de pool de conexões.

Abrir ferramenta→