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
.envfoi lido - ver se múltiplos arquivos
compose.ymlforam 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 finaldocker 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”