Pular para o conteúdo
ToolMug

De Docker Compose para docker run

Cole um compose.yaml ou docker-compose.yml para obter um comando docker run equivalente para cada serviço — útil para iniciar um contêiner em uma máquina sem Compose, ou para verificar exatamente como um serviço é iniciado.

Roda no seu navegador — nada do que você digita é enviado

Docker Compose → docker run
Docker Compose
docker run

Como usar

  1. Cole o arquivo Compose à esquerda, ou clique em Carregar exemplo.
  2. Um comando docker run aparece à direita para cada serviço, na ordem do arquivo.
  3. Confira a nota em amarelo com os campos que não foram convertidos (como build, deploy ou depends_on) e copie os comandos.

Opções explicadas

Campos suportados
image, container_name, command, entrypoint, ports, volumes (sintaxe curta e longa), environment, env_file, networks, network_mode, restart, user, working_dir, labels, logging, ulimits, healthcheck, limites de recursos e mais.
Campos não convertidos
Campos exclusivos do Compose, como build, deploy, depends_on, secrets e configs, são listados na nota. Um serviço sem image recebe um nome de imagem provisório; construa-a você mesmo antes.
Várias redes
O docker run só consegue entrar em uma rede com --network; conecte as demais depois com docker network connect.

Exemplo

Um serviço como este:

services:
  web:
    image: nginx:1.27
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
      - data:/var/cache/nginx
    environment:
      TZ: UTC
    restart: unless-stopped
    depends_on: [db]

vira:

docker run -d \
  --name web \
  -p 8080:80 \
  -v ./html:/usr/share/nginx/html:ro \
  -v data:/var/cache/nginx \
  -e TZ=UTC \
  --restart unless-stopped \
  nginx:1.27

depends_on não tem equivalente em docker run, então aparece na observação. Inicie por conta própria os serviços a que ele se refere, na ordem certa. O caminho relativo ./html é resolvido a partir do diretório em que você executa o comando, então execute-o na pasta que contém esse diretório.

Perguntas frequentes

Por que todo comando inclui -d?

O Compose normalmente executa os serviços em segundo plano (docker compose up -d), então os comandos fazem o mesmo. Remova -d para ver a saída em primeiro plano.

Volumes e redes nomeados precisam existir antes?

O docker run cria automaticamente os volumes nomeados que faltam, mas redes personalizadas precisam ser criadas antes com docker network create <nome>.

Meu arquivo é enviado para algum servidor?

Não. A análise e a conversão são feitas no seu navegador.

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.

Ferramentas relacionadas