Kako namestiti in uporabljati Docker v Ubuntu 20.04


Docker je najbolj priljubljena odprtokodna platforma za razvijalce in sistemske skrbnike za izdelavo, zagon in skupno rabo aplikacij s kontejnerji. Kontejnerizacija (uporaba zabojnikov za uvajanje aplikacij) postaja priljubljena, ker so zabojniki prilagodljivi, lahki, prenosni, ohlapno povezani, razširljivi in varnejši.

Ta članek je dobro izhodišče za začetnike, da se naučijo, kako namestiti in uporabljati Docker v sistem Ubuntu 20.04 Linux z nekaterimi osnovnimi ukazi. V tem priročniku bomo namestili Docker Community Edition (CE).

  • Namestitev strežnika Ubuntu 20.04.
  • Uporabnik s privilegiji za zagon ukaza sudo.

Namestitev Dockerja na Ubuntu 20.04

Za uporabo najnovejše različice Dockerja jo bomo namestili iz uradnega skladišča Docker. Začnite tako, da v svoj sistem dodate ključ GPG za uradno repozitorij Docker, nato pa konfiguracijo repozitorija dodate viru APT z naslednjimi ukazi.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Zdaj posodobite predpomnilnik paketov APT, da v sistem vključite nove pakete Docker z naslednjim ukazom.

$ sudo apt update

Nato namestite paket Docker, kot je prikazano.

$ sudo apt install docker-ce

Med namestitvijo paketa Docker namestitveni program sproži systemd (sistem in upravitelja storitev), da se samodejno zažene in omogoči storitev dockerja. Z naslednjimi ukazi potrdite, da je storitev priklopne postaje aktivna in je omogočena samodejni zagon ob zagonu sistema. Preverite tudi njegovo stanje:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker

Obstaja več drugih ukazov systemctl za upravljanje in nadzor priklopne storitve, ki vključuje naslednje:

$ sudo systemctl stop docker			#stop the docker service
$ sudo systemctl start docker			#start the docker service
$ sudo systemctl  restart docker		#restart the docker service

Če želite preveriti različico Docker CE, nameščeno v vašem sistemu, zaženite naslednji ukaz:

$ docker version

Razpoložljive ukaze za uporabo dockerja si lahko ogledate tako, da zaženete ukaz docker brez kakršnih koli možnosti ali argumentov:

 
$ docker

Upravljajte Dockerja kot nekorenskega uporabnika z ukazom sudo

Privzeto se demon Docker veže na vtičnico UNIX (namesto na vrata TCP), ki je v lasti uporabniškega korena. Zato demon Docker vedno deluje kot korenski uporabnik in za zagon ukaza docker morate uporabiti sudo.

Poleg tega se med namestitvijo paketa Docker ustvari skupina z imenom docker . Ko se zažene demon Docker, ustvari vtičnico UNIX, ki je dostopna članom skupine docker (ki podeli privilegije, enakovredne korenskemu uporabniku).

Če želite zagnati ukaz docker brez sudo, v skupino docker dodajte vse nekorenske uporabnike, ki naj bi dostopali do dockerja. V tem primeru ukaz skupini prijaviteljev doda trenutno prijavljenega uporabnika ($USER) ali uporabniško ime:

$ sudo usermod -aG docker $USER
OR
$ sudo usermod -aG docker username

Če želite aktivirati spremembe v skupinah, zaženite naslednji ukaz:

$ newgrp docker 
$ groups

Nato preverite, ali lahko zaženete ukaze dockerja brez sudo. Naslednji ukaz prenese preskusno sliko in jo zažene v vsebniku. Ko se vsebnik zažene, natisne informativno sporočilo in izstopi. To je tudi drug način za navzkrižno preverjanje, ali namestitev deluje dobro.

$ docker run hello-world

Delo z Dockerjevimi slikami

Slika Dockerja je datoteka s predlogami samo za branje z navodili za ustvarjanje vsebnika Docker. Lahko ustvarite slike po meri ali pa uporabite samo tiste, ki so jih ustvarili drugi in so objavljeni v Docker Hub, največji svetovni knjižnici in skupnosti za slike posod.

Sliko centos lahko poiščete v Docker Hub z naslednjim ukazom:

$ docker search centos 

Če želite sliko prenesti lokalno, uporabite ukaz pull. Ta primer prikazuje, kako prenesti uradno sliko centos.

$ docker pull centos

Ko je prenos končan, lahko razpoložljive slike navedete v lokalnem sistemu.

$ docker images

Če slike ne potrebujete več, jo lahko odstranite iz sistema.

$ docker rmi centos
OR
$ docker rmi centos:latest    #where latest is the tag

Zagon in upravljanje Docker zabojnikov

Dockerjev vsebnik je postopek, ki se izvorno izvaja v Linuxu in jedro gostiteljske naprave deli z drugimi vsebniki. Kar zadeva Dockerjevo sliko, je vsebnik le tekoča slika.

Če želite zagnati vsebnik na podlagi vaše nove slike centos , zaženite naslednji ukaz, kjer je \"centos" ime lokalne slike in\"cat/etc/centos-release" je ukaz za zagon v vsebniku:

$ docker run centos cat /etc/centos-release

Vsebnik zažene ločen postopek, ki je izoliran s tem, da ima lasten: datotečni sistem, omrežje in izolirano drevo procesov, ločeno od gostitelja. Upoštevajte, da lahko z vsebnikom upravljate z ID-jem predpone, ID-predpono ali imenom, kot je prikazano spodaj. Zgornji postopek vsebnika konča po zagonu ukaza.

Za prikaz vsebnikov Dockerja uporabite ukaz docker ps, kot sledi. Z zastavico -l prikažite najnovejši ustvarjeni vsebnik v vseh stanjih:

$ docker ps
OR
$ docker ps -l

Če želite prikazati vse vsebnike, vključno s tistimi, ki so izstopili, uporabite zastavico -a .

$ docker ps -a

Po izhodu lahko vsebnik zaženete tudi z ID-jem vsebnika. Na primer, v prejšnjem ukazu je naš ID vsebnika 94c35e616b91. Vsebnik lahko zaženemo, kot je prikazano (upoštevajte, da bo zagnal ukaz in izhod):

$ docker start 94c35e616b91

Če želite ustaviti tekoči vsebnik z uporabo njegovega ID-ja, uporabite ukaz stop, kot je prikazano.

$ docker stop 94c35e616b91

Docker vam omogoča tudi, da vsebniku dodelite ime z uporabo možnosti --name , ko ga zaženete.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l

Zdaj lahko ime vsebnika uporabljate za upravljanje (zagon, zaustavitev, statistika, odstranjevanje itd.) Vsebnika:

$ docker stop my_test
$ docker start my_test
$ docker stats my_test
$ docker rm my_test

Zagon interaktivne seje v zabojnik Docker

Če želite v vsebniku zagnati interaktivno lupinsko sejo, da omogočite izvajanje ukazov v vsebniku, zaženite naslednji ukaz:

$ docker run --name my_test -it centos

V zgornjem ukazu stikala -it povedo Dockerju, naj dodeli psevdo-TTY, povezan s stdin-jem vsebnika, s čimer ustvari interaktivno lupino bash v vsebniku.

Izstopite lahko tako, da izdate ukaz za izhod, kot je prikazano.

# exit

Če raje ne izstopite, se lahko ločite od posode in pustite, da deluje. Za to uporabite zaporedje tipk CTRL + p in nato CTRL + q .

Lahko se znova povežete z vsebnikom z ukazom »priloži«, ki bo v tekoči vsebnik pritrdil lokalne tokove vnosa, izhoda in napak:

$ docker attach my_test

Poleg tega lahko vsebnik zaženete v ločenem načinu z uporabo oznake -d . Nato z ukazom attach pripnite standardni vhodni, izhodni in napačni tok terminala v delujoči vsebnik:

$ docker run --name my_test -d -it centos
$ docker attach my_test

Nenazadnje lahko tekoči vsebnik iz gostiteljske seje ustavite tako, da zaženete naslednji ukaz:

$ docker kill my_test

To je vse! V tem priročniku smo opisali, kako namestiti in uporabljati Docker CE v Ubuntu 20.04 Linux. Če imate kakršna koli vprašanja, nas vprašajte v spodnjem obrazcu za povratne informacije.