Docker pe Linux: containere, imagini, volume și networking
Docker simplifică ambalarea aplicațiilor, dar un administrator trebuie să înțeleagă ce se întâmplă sub abstracție: procese Linux, filesystem-uri, volume, port mapping, rețele și consum de resurse.
Imagine versus container
O imagine este un artefact read-only folosit ca bază, iar containerul este o instanță rulabilă a acelei imagini. docker images inventariază imaginile, iar docker ps -a arată containerele, inclusiv cele oprite.
Pornire și port mapping
docker run creează și pornește un container. Cu -p 8080:80 publici portul 80 din container pe portul 8080 al hostului. Dacă serviciul nu răspunde, verifică atât mapping-ul Docker, cât și socket-ul aplicației și firewall-ul hostului.
Volume și persistență
Datele importante nu ar trebui să depindă de stratul scriibil efemer al containerului. Folosește volume sau bind mounts pentru persistență. docker volume ls și docker inspect te ajută să vezi unde sunt montate datele.
Loguri și inspect
docker logs este primul pas pentru stdout/stderr, iar docker inspect oferă configurația detaliată: rețea, mount-uri, variabile și policy-uri. Pentru resurse, docker stats oferă o vedere rapidă asupra consumului.
Networking Docker
Containerele pot comunica prin rețele Docker, iar numele containerelor pot fi rezolvate în anumite rețele user-defined. Când diagnostichezi, separă accesul container → container, host → container și exterior → host → container. Fiecare traseu poate avea o cauză diferită.
Curățare controlată
Comenzile de prune pot șterge resurse nefolosite și trebuie folosite conștient. Înainte de curățare, verifică docker system df, containerele oprite și volumele. Volumele pot conține date persistente chiar dacă un container nu mai există.
Întrebări frecvente
Docker este o mașină virtuală?
Nu. Containerele folosesc kernelul hostului și izolare la nivel de procese și resurse, în timp ce o mașină virtuală include de regulă propriul kernel.
De ce un container oprit ocupă încă spațiu?
Containerul oprit, imaginile, build cache-ul și volumele pot continua să ocupe spațiu. docker system df ajută la inventarierea utilizării.