Ce face docker compose config
docker compose config citește compose.yaml (și fișierele suplimentare date cu -f, plus compose.override.yaml dacă există), înlocuiește variabilele din .env și din mediu și afișează configurația completă, în formă normalizată. Ce vezi aici este exact ce va folosi docker compose up.
Comanda este prima verificare când ceva nu merge: o variabilă necompletată, o indentare greșită sau o cheie scrisă greșit apar imediat ca eroare. Cu --quiet doar validează (util în CI), iar cu --services sau --volumes listează doar numele.
Parametri
| Parametru | Descriere |
|---|---|
-q, --quiet |
Doar validează; nu afișează nimic dacă fișierul e corect. |
--services |
Listează numele serviciilor. |
--volumes |
Listează numele volumelor. |
--images |
Listează imaginile folosite. |
--format json |
Afișează configurația în JSON în loc de YAML. |
--no-interpolate |
Nu înlocuiește variabilele ${...}. |
-o, --output FIȘIER |
Scrie rezultatul într-un fișier. |
Exemple
Exemplul 1: Configurația finală, cu variabilele înlocuite
Fișierul .env conține ORAS=Iasi și PORT_API=3000. În ieșire vezi valorile reale, numele proiectului și rețeaua implicită adăugată automat (ieșire scurtată).
cat compose.yaml
# services:
# api:
# build: .
# ports: ["${PORT_API}:3000"]
# environment:
# ORAS: ${ORAS}
docker compose config
Ieșire în terminal
name: magazin
services:
api:
build:
context: /home/ana/magazin
dockerfile: Dockerfile
environment:
ORAS: Iasi
networks:
default: null
ports:
- mode: ingress
target: 3000
published: "3000"
protocol: tcp
networks:
default:
name: magazin_default
Exemplul 2: Validare în CI și lista serviciilor
Dacă fișierul are o eroare, --quiet iese cu cod diferit de zero și pipeline-ul se oprește.
docker compose -f compose.yaml -f compose.prod.yaml config --quiet && echo "compose valid"
docker compose config --services
Ieșire în terminal
compose valid
api
db
redis
Greșeli frecvente
- Ignorarea avertismentului
The "ORAS" variable is not set. Defaulting to a blank string.: serviciul pornește cu o valoare goală. Folosește${ORAS:?lipseste ORAS}ca lipsa să fie eroare. - Publicarea ieșirii lui
config(în tichete sau jurnale de CI): conține valorile reale ale variabilelor, inclusiv parole din.env.
Comenzi înrudite
docker compose build: Construiește (sau reconstruiește) imaginile serviciilor care au secțiunea build în compose.yaml.docker compose pull: Descarcă imaginile tuturor serviciilor din compose.yaml (sau doar ale celor alese), fără să pornească containerele.