docker run para Compose
docker run to Compose
Transforma uma linha de comando docker run numa definição de serviço do Compose, e converte de volta no outro sentido.
Converte uma linha de comando `docker run` no serviço de `compose.yaml` correspondente. O comando é dividido com as regras reais de aspas do shell, então um entrypoint escrito como `sh -c "…"` sobrevive com seus espaços e aspas intactos.
Comando docker run
compose.yaml
Notas
- -d só afeta a própria chamada do docker run; o Compose não tem equivalente, então foi descartada.
sh -c "…" sobrevive com os espaços dele. As flags sem equivalente no Compose (--rm, -d) são descartadas com uma nota — quem decide o ciclo de vida é o Compose — e flags desconhecidas são nomeadas, nunca engolidas em silêncio. As portas saem entre aspas porque senão o YAML 1.1 leria 8080:80 como um número na base 60.Como usar
Cole o comando
Continuações de linha, valores entre aspas e um comando final depois da imagem são todos tratados. Nada é executado: isto é texto que entra, texto que sai.
Leia as notas abaixo da saída
Flags sem equivalente no Compose são listadas em vez de descartadas em silêncio, e uma flag desconhecida é nomeada. Essa lista é a parte que vale conferir antes de commitar o arquivo.
Copie para o seu arquivo compose
A saída é um serviço. Coloque-o sob `services:` junto com o que você já tem, e dê o nome que quiser se o comando não tinha `--name`.
Perguntas frequentes
Por que as portas estão entre aspas?
Porque o YAML 1.1 lê `8080:80` como um número em base 60: a sintaxe sexagesimal que ninguém queria e todo parser de YAML herdou. As aspas são o que mantém isso como um mapeamento de portas. É a armadilha clássica do Compose.
O que aconteceu com `--rm` e `-d`?
Descartados com uma nota, porque o Compose é dono do ciclo de vida. `docker compose up` é a decisão entre anexado e em segundo plano e `docker compose down` remove os contêineres, então essas flags não têm equivalente no nível do serviço para onde traduzir.
Ele escreve um arquivo compose inteiro?
Ele escreve o serviço. Redes, volumes de nível superior e uma chave `version:` (que o Compose moderno não quer mais) ficam por sua conta — e na maior parte dos casos você não deveria precisar deles.
Pode receber de
Calculadora de chmod
chmod Calculator
Converte entre as visões octal, simbólica e de caixas de seleção das permissões, inclusive setuid e sticky bit.
Conversor de .env
.env Parser & Converter
Analisa um arquivo .env e o converte para JSON, YAML, exports de shell, Docker ou formatos do Kubernetes.
Explorador de imagem Docker
Docker Image Explorer
Abre o tarball de uma imagem exportada e mostra o comando, o tamanho e os arquivos adicionados ou apagados por cada camada.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
Explorador de imagem Docker
Docker Image Explorer
Abre o tarball de uma imagem exportada e mostra o comando, o tamanho e os arquivos adicionados ou apagados por cada camada.
Conversor de .env
.env Parser & Converter
Analisa um arquivo .env e o converte para JSON, YAML, exports de shell, Docker ou formatos do Kubernetes.
Decodificar Secret do Kubernetes
Kubernetes Secret Decoder
Decodifica cada valor Base64 de um manifesto Secret e recodifica um editado pronto para aplicar — tudo na aba, o Secret nunca sai do seu navegador.
Formatador e validador de YAML
YAML Formatter & Validator
Reindenta YAML de forma consistente, valida e aponta os erros de tabulação e âncora que quebram os parsers.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.
curl para código
curl to Code
Converte um comando curl em fetch, axios, Python requests, Go, PHP ou PowerShell.