Skip to main content

docker-compose config | Docker-Compose

  • docker-compose config | Docker-Compose

docker compose config serve para mostrar a configuração final que o Compose realmente vai usar antes de subir os containers. Ele renderiza o modelo final, mesclando arquivos, resolvendo variáveis e expandindo sintaxes curtas. ([Docker Documentation][1])

Na prática, ele faz principalmente isso:

  • junta os arquivos passados com -f
  • substitui variáveis como ${PORT} e valores do .env
  • transforma formas curtas em forma canônica
  • deixa redes, volumes e nomes explícitos no resultado final ([Docker Documentation][1])

Exemplo

Se você tem isso:

services:
app:
image: nginx
ports:
- "${APP_PORT}:80"

e no .env:

APP_PORT=8080

quando roda:

docker compose config

o resultado vai mostrar algo equivalente a:

services:
app:
image: nginx
ports:
- target: 80
published: "8080"
protocol: tcp

Então, para que ele é útil?

Principalmente para:

  • validar se o YAML ficou certo
  • confirmar se o .env foi lido
  • ver se múltiplos arquivos compose.yml foram mesclados como você esperava
  • debugar porta, volume, network, profile e variável
  • enxergar o que o Docker vai aplicar de verdade ([Docker Documentation][1])

Diferença mental importante

  • docker compose config = inspeciona a configuração final
  • docker compose up = cria/sobe os recursos

Ou seja, config não sobe container. Ele só te mostra a configuração resolvida. A documentação do quickstart inclusive recomenda usar esse comando para confirmar substituição de variáveis e merge de arquivos antes de iniciar a stack. ([Docker Documentation][2])

Quando eu mais usaria

Use muito quando acontecer isso:

  • “o compose não leu minha variável”
  • “não sei qual arquivo override ganhou”
  • “a porta publicada não ficou como eu esperava”
  • “quero ver como o Compose expandiu essa sintaxe curta”

Comando simples

docker compose config

Com múltiplos arquivos

docker compose -f compose.yml -f compose.prod.yml config