Docker este un software popular de containerizare. Containerele sunt o unitate standard de software care împachetează codul și toate dependențele sale, astfel încât o aplicație să poată fi rulată rapid și fiabil pe diferite sisteme de operare și medii de calcul.
În termeni tehnici, un container este un proces în curs de execuție care este izolat de alte procese și are acces la resursele computerului. În continuare, să analizăm instalarea Docker în Debian 11 și rularea primei aplicații.
Există două modalități de instalare, folosind depozitele Debian standard sau depozitul oficial Docker. Depozitele Debian nu conțin cea mai recentă versiune, așa că vom lua în considerare instalarea din depozitul oficial Docker.
Înainte de a adăuga depozitul, trebuie să actualizați lista de pachete prin rularea comenzii:
$ sudo apt update

De asemenea, instalați pachete suplimentare care sunt necesare pentru a lucra cu depozitele de la distanță. Pentru a instala aceste pachete, executați comanda:
$ sudo apt -y install ca-certificates curl gnupg lsb-release

Apoi, descărcați și adăugați cheia PGP din depozit. Pentru a face acest lucru, executați comanda:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Pentru a adăuga depozitul, trebuie să executați comanda:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Pentru a instala pachetul, mai întâi trebuie să actualizați listele de pachete astfel încât să apară un nou depozit în sistem. Pentru a face acest lucru, pur și simplu executați comanda:
$ sudo apt update
În cele din urmă, puteți instala pachete suplimentare. Instalarea se face cu ajutorul comenzii:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io

Cuvântul ce din numele pachetului docker-ce înseamnă community, ceea ce înseamnă că va fi instalată versiunea gratuită (aka community version). Acum știți cum să instalați docker debian.
După instalare, acesta va fi oprit în mod implicit. Pentru a porni programul, trebuie să executați comanda:
$ sudo systemctl start docker

Pentru ca acesta să ruleze împreună cu sistemul de operare, trebuie să fie adăugat la autoloader folosind comanda:
$ sudo systemctl enable docker

În mod implicit, numai utilizatorul root poate utiliza și executa comenzile sale în terminal. Dacă executați orice comandă de la un utilizator normal, terminalul va afișa următoarea eroare:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Pentru a executa comanda ca utilizator normal și fără a utiliza comanda sudo, trebuie să adăugați utilizatorul la grupul docker. Grupul docker este creat automat în timpul instalării. Cu toate acestea, dacă din anumite motive nu este creat automat, acesta trebuie creat manual executând următoarea comandă:
$ sudo groupadd docker
Apoi, pentru a adăuga utilizatorul curent la grupul docker, executați:
$ sudo usermod -aG docker $USER

Variabila $USER înseamnă că utilizatorul curent, în numele căruia este inițiată sesiunea, va fi adăugat la grupul docker. Această variabilă este prezentă în toate distribuțiile Linux moderne. De asemenea, este de remarcat faptul că grupul docker acordă privilegii echivalente cu cele ale utilizatorului root.
După adăugarea unui utilizator, este necesar să vă autentificați din nou în sistem și numai atunci puteți rula orice comandă Docker pentru testare. Ca exemplu, a fost executată comanda docker ps care afișează o listă a containerelor care rulează:
$ docker ps

După cum puteți vedea în captura de ecran de mai sus, aceasta a fost executată fără erori și în numele unui utilizator normal.
Pentru a testa complet Docker, puteți descărca o imagine de testare de la hello-world pentru verificare. Pentru a face acest lucru, trebuie să executați:
$ docker run hello-world

Comanda docker run va descărca imaginea software din depozitul online docker hub, registrul oficial de stocare a imaginilor software de la Docker care este utilizat în mod implicit, și o va executa automat. Exemplul afișează fraza Hello from Docker! ceea ce înseamnă că imaginea a fost descărcată și rulată cu succes.