docker compose restart / stop / start în Docker

Docker Compose Docker Compose v2

Repornește, oprește sau pornește containerele existente ale serviciilor, fără să le recreeze și fără să aplice modificări din compose.yaml.

Sintaxă comandă
docker compose restart [-t SECUNDE] [serviciu...]
docker compose stop [serviciu...]
docker compose start [serviciu...]

Ce face docker compose restart / stop / start

docker compose restart oprește și pornește din nou containerele existente ale proiectului (sau doar ale serviciilor date). stop le oprește, păstrându-le (cu datele lor), iar start pornește containerele oprite. Spre deosebire de docker compose down, nu se șterge nimic.

Important: niciuna dintre aceste comenzi nu recreează containerele. Dacă ai schimbat compose.yaml (variabile de mediu, porturi, imagine), modificările se aplică doar cu docker compose up -d. restart e potrivit, de exemplu, după ce ai modificat un fișier de configurare montat ca volum.

Parametri

Parametru Descriere
-t, --timeout SECUNDE Cât așteaptă oprirea elegantă înainte de SIGKILL (implicit 10).
--no-deps La restart: nu reporni și serviciile dependente.
serviciu... Doar serviciile date; fără nume, toate.

Exemple

Exemplul 1: Repornirea nginx după schimbarea configurației montate

Fișierul nginx.conf este montat din proiect, deci o repornire simplă îl reîncarcă.

docker compose restart web

Ieșire în terminal

[+] Restarting 1/1
 ✔ Container magazin-web-1  Started                                    0.7s

Exemplul 2: Oprire pentru mentenanță și pornire

Oprim API-ul cu 30 de secunde pentru cererile în curs; baza de date rămâne pornită.

docker compose stop -t 30 api
docker compose ps --format '{{.Service}}\t{{.State}}' -a
docker compose start api

Ieșire în terminal

[+] Stopping 1/1
 ✔ Container magazin-api-1  Stopped                                    1.4s
api	exited
db	running
[+] Running 1/1
 ✔ Container magazin-api-1  Started                                    0.6s

Greșeli frecvente

  • Rularea docker compose restart după modificarea lui compose.yaml sau a fișierului .env: containerul repornește cu configurația veche. Folosește docker compose up -d.
  • Confuzia între stop și down: down șterge containerele și rețeaua (și volumele, cu -v); stop doar le oprește.

Comenzi înrudite

  • docker compose pull: Descarcă imaginile tuturor serviciilor din compose.yaml (sau doar ale celor alese), fără să pornească containerele.
  • docker compose run: Pornește un container nou pentru o comandă unică (migrare, test, consolă), cu configurația unui serviciu din compose.yaml.