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.