docker compose config în Docker

Docker Compose Docker Compose v2

Validează fișierul compose.yaml și afișează configurația finală, după înlocuirea variabilelor și combinarea fișierelor.

Sintaxă comandă
docker compose config [opțiuni] [serviciu...]

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.