Ce face docker attach
docker attach te leagă direct de procesul principal al containerului (PID 1): vezi ce afișează în timp real și, dacă a fost pornit cu -it, îi poți scrie la intrare. Spre deosebire de docker exec, nu pornește un proces nou, ci se conectează la cel existent.
Atenție la ieșire: Ctrl+C trimite semnalul procesului principal și, de obicei, oprește containerul. Pentru a te deconecta fără să-l oprești, folosește secvența Ctrl+P urmată de Ctrl+Q (doar pentru containere pornite cu -it) sau pornește cu --sig-proxy=false, caz în care Ctrl+C doar te deconectează.
Parametri
| Parametru | Descriere |
|---|---|
--detach-keys |
Altă secvență de deconectare, de exemplu ctrl-x. |
--no-stdin |
Nu conecta intrarea; doar urmărești ieșirea. |
--sig-proxy=false |
Nu trimite Ctrl+C și alte semnale procesului din container. |
Ctrl+P, Ctrl+Q |
Secvența implicită de deconectare fără oprire. |
Exemple
Exemplul 1: Revenirea la un shell interactiv lăsat în fundal
Pornim un container Python interactiv, ne deconectăm cu Ctrl+P Ctrl+Q și revenim mai târziu la aceeași sesiune.
docker run -dit --name consola python:3.13-slim python
docker attach consola
>>> pret = 1200
>>> pret * 1.21
Ieșire în terminal
1452.0
Exemplul 2: Urmărirea ieșirii fără risc de oprire
Cu --sig-proxy=false, Ctrl+C te deconectează, iar serviciul continuă să ruleze.
docker attach --no-stdin --sig-proxy=false web-iasi
Ieșire în terminal
172.17.0.1 - - [25/Oct/2026:10:12:03 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/8.14.1" "-"
172.17.0.1 - - [25/Oct/2026:10:12:07 +0000] "GET /cos HTTP/1.1" 404 153 "-" "curl/8.14.1" "-"
^C
Greșeli frecvente
- Ieșirea cu
Ctrl+Cdintr-un server la care te-ai atașat: îl oprești. Pentru doar a citi jurnalele,docker logs -feste mai sigur. - Folosirea
docker attachpentru a rula comenzi de depanare: dacă procesul principal nu e un shell, nu ai unde să scrii. Foloseștedocker exec -it container sh.
Comenzi înrudite
docker create: Creează un container cu toate setările lui, fără să-l pornească; îl pornești mai târziu cu docker start.docker pause / docker unpause: Îngheață toate procesele unui container (fără să le oprească) și le reia exact din același punct.docker wait: Așteaptă oprirea unuia sau mai multor containere și afișează codul de ieșire al fiecăruia.