Gerador de Docker Compose
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
Indique para cada serviço um nome, uma imagem, os mapeamentos de portas host:contentor e os volumes. Já existem dois serviços de exemplo preenchidos.
-
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
A pré-visualização atualiza enquanto escreve: os mapeamentos de portas ficam entre aspas e a chave de versão é omitida, como exige 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.
Não através do formulário nesta versão. O gerador centra-se nas definições de serviços com imagem, portas e volumes. Pode adicionar redes, variáveis de ambiente, healthchecks e outras chaves ao YAML gerado à mão antes de o utilizar.
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
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Papel de Parede em Gradiente
Gere papéis de parede em gradiente borrados de três cores para laptop, telefone ou fundos do Zoom. Randomize ou defina o ângulo e o desfoque manualmente.
Gerador de Cores Análogas
Crie uma paleta análoga de cinco cores a partir de qualquer cor base, com o trio clássico, dois tons externos e valores hex, RGB e HSL.
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Ferramenta disponível em outros idiomas
- Docker Compose Oluşturucu [TR]
- Generador de Docker Compose [ES]
- مولّد Docker Compose [AR]
- Générateur Docker Compose [FR]
- Docker Compose-generator [NL]
- Docker Compose 생성기 [KO]
- Generator Docker Compose [ID]
- Docker Compose Generator [EN]
- Trình tạo Docker Compose [VI]
- Docker Compose 生成器 [ZH]
- Docker Composeジェネレーター [JA]
- ตัวสร้าง Docker Compose [TH]
- Docker-Compose-Generator [DE]
- Docker Compose-generator [SV]
- Generator Docker Compose [PL]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]