Caminho da tarefa / da entrada ao resultado
Como converter um comando docker run para Compose
- 01
Cole o comando docker run
Para comandos literais de shell POSIX destinados a contêineres Linux. Máximo de 64 KiB em UTF-8. Arquivos env brutos exigem Compose 2.30+. Isto é um rascunho de configuração; nenhum shell, daemon do Docker ou imagem é executado ou inspecionado. Use um único comando docker run literal. Substitua variáveis do host por valores explícitos; coloque $ literal entre aspas simples ou escape-o. Expansão de shell, pipes, redirecionamentos, substituição de comando e quebras de linha sem escape não são suportados. Continuação de linha com barra invertida é suportada.
- 02
Converta para um serviço Compose
Converte name, ports, valores explícitos de ambiente, arquivos env brutos, mounts, restart, network, workdir, user, entrypoint e labels. -i/-t (incluindo -it) viram stdin_open/tty. Opções curtas aceitam valores colados e opções longas aceitam =value. Opções desconhecidas interrompem a conversão.
- 03
Confira o YAML gerado
Argumentos após a imagem mantêm sua ordem e as strings vazias na lista de comandos. Um entrypoint não vazio permanece um argumento; um entrypoint vazio o limpa. Cifrões literais são duplicados para o Compose, preservando seu valor em vez de interpolar o ambiente do host. A rede padrão é explicitamente bridge. Bind mounts mantêm a diferença entre -v (pode criar um diretório no host) e --mount (precisa existir).
- 04
Revise a lista de não suportados
Uma opção não é suportada. Nenhum YAML parcial foi gerado. Use as opções suportadas listadas no guia; mova os argumentos de comando do contêiner para depois da imagem. --rm não é representado em YAML. Escolha você mesmo o ciclo de vida adequado de execução/remoção do Compose. -d/--detach é uma opção de lançamento: use docker compose up -d quando apropriado.
- 05
Copie ou baixe o YAML
env_file usa o formato bruto (Compose 2.30+) para preservar cifrões e aspas. Caminhos relativos resolvem ao lado do compose.yaml. Conteúdos de arquivos e variáveis não definidas não são inspecionados; revise o ambiente real. Volumes nomeados e redes personalizadas são referências externas com seus nomes originais. Eles precisam já existir antes do lançamento; nenhum recurso é criado ou verificado aqui.