Gerador de Docker Compose
O que roda nesta stack
Escrever um docker-compose.yml à mão significa lembrar a indentação exata, colocar entre aspas cada mapeamento de portas e saber qual cadeia de versão o seu binário do Compose entende. Este gerador permite definir serviços com campos simples: um nome, uma imagem, mapeamentos de portas host:contentor e volumes. Gera um ficheiro YAML válido com a especificação moderna do Compose (sem chave de versão) e padrões sensatos.
Como criar um ficheiro Compose
-
1
Adicionar serviços
Dê a cada serviço um nome e uma imagem e depois seus mapeamentos de portas, volumes, variáveis de ambiente e política de reinício. Dois serviços iniciais já vêm preenchidos e sobem do jeito que estão.
-
2
Ajustar ou remover linhas
Edite diretamente qualquer campo, adicione outro serviço com o botão + Service ou remova a linha que não precisar.
-
3
Verificar o YAML gerado
Confira o YAML gerado: os mapeamentos de portas ficam entre aspas, todo volume nomeado é declarado no fim do arquivo e a chave version é omitida, como espera a especificação moderna do Compose.
-
4
Copiar o ficheiro
Copie o docker-compose.yml gerado e cole-o na raiz do seu projeto.
A especificação moderna do Compose
O Compose V2 (o plugin incluído no Docker Desktop e nos motores Docker modernos) segue a Compose Specification. A chave version: está obsoleta; o gerador omite-a. As chaves de nível superior são services, networks, volumes, configs e secrets.
Anatomia de um serviço
Um serviço orientado à produção tem este aspeto:
services:
web:
image: nginx:1.27-alpine
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./public:/usr/share/nginx/html:ro
depends_on:
app:
condition: service_healthy
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost/health"]
interval: 30s
timeout: 5s
retries: 3
Volumes: montagem de ligação ou volume nomeado
- Montagem de ligação (
./app:/var/www) liga o contentor a um caminho no host; excelente para o desenvolvimento local porque as alterações refletem-se de imediato. - Volume nomeado (
pgdata:/var/lib/postgresql/data) é gerido pelo Docker e persiste independentemente de qualquer caminho do host; a escolha certa para bases de dados e para tudo o que não queira apagar por acidente comrm -rf. - Volume anónimo - evite. Sobrevive aos reinícios mas desaparece sem aviso com
docker compose down -v.
Redes
Por omissão, o Compose cria uma rede com o nome do projeto e liga-lhe todos os serviços. Declarar redes explícitas é útil quando:
- Pretende isolar uma base de dados de um serviço exposto ao público.
- Precisa de uma ponte com uma sub-rede personalizada para alinhar com a infraestrutura existente.
- Pretende ligar contentores a uma rede externa já existente (
external: true).
Erros comuns a evitar
- Conflitos de chave de versão.
version: "3.8"no topo impede que funcionalidades recentes comostart_intervaldo healthcheck funcionem no Compose antigo; o gerador omite a chave de versão. - Aspas nos portos.
8080:80é interpretado como YAML em base 60 em alguns casos extremos; o gerador coloca sempre entre aspas os mapeamentos de portas. - Segredos escritos no código. Segredos escritos diretamente em compose.yml acabam no Git. Guarde-os num
env_fileou no gestor de segredos da plataforma. - depends_on sem condição. Um
depends_on: [db]simples espera o arranque do contentor, não que o serviço esteja pronto. Usecondition: service_healthye acrescente um healthcheck à dependência.
Perguntas frequentes
Para a Compose Specification atual (alinhada com o Docker Compose V2). O ficheiro omite a chave version:, que é como se escrevem os ficheiros Compose modernos. Funciona com Docker Compose V2.22 e versões posteriores.
Pelo formulário não. O formulário cobre imagem, portas, volumes, variáveis de ambiente e política de reinício, e declara todos os volumes nomeados que seus serviços montam, como o Compose exige. Redes e health checks você adiciona à mão no YAML gerado.
Não, esta ferramenta centra-se no compose.yml. Para Dockerfiles, use o Gerador de Dockerfile, que trata da escolha da imagem base e da ordem das instruções COPY/RUN para cinco tecnologias.
Não. As definições de serviços servem apenas para construir o YAML nesta página. Não são guardadas, carregadas nem partilhadas.
Ferramentas relacionadas
Gerador de Cartão CSS
Crie o CSS de um contêiner de cartão: fundo, borda, raio dos cantos, espaçamento interno e sombra suave, com pré-visualização imediata e código para copiar e colar.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Gerador de Configuração Nginx
Gere blocos de servidor Nginx com TLS, HTTP/2, gzip, cache de navegador e regras de proxy reverso a partir de um formulário simples.
Validador do Algoritmo de Luhn
Valide números de cartão de crédito, IMEI, SIN e outros números protegidos pelo Luhn. Retorna aprovação ou reprovação e mostra cada etapa de duplicação e verificação.
Ferramenta disponível em outros idiomas
- Docker Compose 생성기 [KO]
- Trình tạo Docker Compose [VI]
- Docker Compose-generator [SV]
- Generator Docker Compose [PL]
- Docker-Compose-Generator [DE]
- Docker Compose-generator [NL]
- ตัวสร้าง Docker Compose [TH]
- Generador de Docker Compose [ES]
- Generator Docker Compose [ID]
- مولّد Docker Compose [AR]
- Générateur Docker Compose [FR]
- Docker Composeジェネレーター [JA]
- Docker Compose Generator [EN]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]
- Docker Compose Oluşturucu [TR]
- Docker Compose 生成器 [ZH]