Como usar
- Cole os comandos docker run à esquerda. Comandos em várias linhas com barra invertida no final funcionam; separe vários comandos com quebras de linha, ponto e vírgula ou &&.
- O arquivo Compose aparece à direita. Cada comando se torna um serviço nomeado a partir de --name, ou da imagem se não houver nenhum.
- Confira a nota em amarelo com o que não foi convertido, depois copie ou baixe o compose.yaml e execute docker compose up -d.
Opções explicadas
- Flags suportadas
- -p, -v, --mount, -e, --env-file, --name, --restart, --network, -w, -u, -h, --entrypoint, -l, --add-host, --dns, --cap-add/drop, --device, -m, --cpus, --shm-size, --ulimit, --log-driver/--log-opt, --health-*, -i, -t, --privileged, --init, --read-only e mais.
- Volumes e redes nomeados
- Volumes nomeados (como pgdata:/data) são declarados em volumes de nível superior. Redes personalizadas são declaradas como external true, ou seja, usam uma rede já existente. As redes host e none se tornam network_mode.
- Portas
- Os mapeamentos de porta sempre ficam entre aspas. O YAML 1.1 interpreta valores como 22:22 como números em base 60, e a documentação do Docker recomenda escrever as portas como strings.
- Flags ignoradas
- -d e --rm não têm equivalente no Compose e são descartadas. Flags não suportadas, como --gpus, são listadas na nota.
Exemplo
docker run -d --name web --restart unless-stopped -p 8080:80 \
-v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27
vira:
services:
web:
image: nginx:1.27
container_name: web
restart: unless-stopped
mem_limit: 512m
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
volumes:
- ./html:/usr/share/nginx/html:ro
Perguntas frequentes
O arquivo precisa de uma linha version?
Não. A versão atual do Docker Compose (v2) não usa mais a chave version de nível superior; se estiver presente, é ignorada com um aviso.
As senhas nas minhas variáveis de ambiente são enviadas para algum servidor?
Não. A análise e a conversão são feitas no seu navegador e nada é enviado a um servidor.
Ele trata argumentos entre aspas?
Sim. Aspas simples, aspas duplas e escapes com barra invertida seguem as regras do shell, então -e "MSG=hello world" mantém o valor completo.
Privacidade
Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.