Ce face docker compose up
Comanda docker compose up este punctul central al lucrului cu Docker Compose: citește fișierul compose.yaml (sau docker-compose.yml) din directorul curent, creează automat o rețea comună și volumele declarate, construiește sau descarcă imaginile necesare și pornește containerele în ordinea dependențelor (depends_on).
Dacă rulezi din nou docker compose up -d după ce ai modificat compose.yaml, Compose este inteligent: recreează doar serviciile a căror configurație s-a schimbat, lăsând restul containerelor (de exemplu baza de date) să ruleze neîntrerupt.
Atenție: în Compose v2 comanda se scrie cu spațiu — docker compose (subcomandă a CLI-ului Docker), nu docker-compose cu cratimă (vechiul utilitar Python v1, retras din suport în 2023).
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-d, --detach |
Pornește serviciile în fundal și eliberează terminalul (fără -d, afișează jurnalele împletite și oprește serviciile la Ctrl+C). |
--build |
Forțează reconstruirea imaginilor pentru serviciile care au secțiunea build: înainte de pornire. |
--force-recreate |
Recreează containerele chiar dacă nici imaginea, nici configurația nu s-au schimbat. |
--pull always |
Verifică și descarcă ultimele versiuni ale imaginilor din registry înainte de pornire. |
--wait |
Implică -d și așteaptă până când toate serviciile devin healthy conform healthcheck-ului. |
--remove-orphans |
Șterge containerele pentru servicii care au fost eliminate între timp din compose.yaml. |
Exemple
Exemplul 1: Pornirea întregii stive în fundal, cu reconstruirea imaginilor locale
Cea mai frecventă comandă după ce ai modificat codul sau Dockerfile-ul.
docker compose up -d --build
Ieșire în terminal
[+] Building 1.8s (10/10) FINISHED
=> [api internal] load build definition from Dockerfile 0.0s
=> [api] exporting to image 0.1s
[+] Running 4/4
✔ Network proiect_default Created 0.1s
✔ Volume "proiect_pgdata" Created 0.0s
✔ Container proiect-db-1 Started 0.4s
✔ Container proiect-api-1 Started 0.7s
Exemplul 2: Pornirea unui singur serviciu (și a dependențelor lui)
Dacă vrei să lucrezi doar cu baza de date în timp ce rulezi aplicația nativ pe gazdă.
docker compose up -d db
Ieșire în terminal
[+] Running 1/1
✔ Container proiect-db-1 Running 0.0s
Greșeli frecvente
- Modificarea codului sau a
Dockerfile-ului și rularea simplădocker compose up -dfără--build: Compose refolosește imaginea veche deja construită și schimbările nu apar. - Folosirea vechii comenzi
docker-compose(cu cratimă), care pe sistemele noi fie lipsește, fie nu recunoaște sintaxa modernă dincompose.yaml.
Comenzi înrudite
docker compose down: Oprește și șterge containerele și rețeaua create de docker compose up.compose.yaml: Fișierul declarativ în care descrii serviciile, rețelele și volumele unei aplicații multi-container.docker compose logs / ps / exec: Inspectează starea serviciilor, urmărește jurnalele și execută comenzi folosind numele serviciului din compose.yaml.docker build: Construiește o imagine pe baza unui Dockerfile și a unui context de build.