Kif tinstalla u tuża Docker fuq Ubuntu 20.04


Docker hija l-aktar pjattaforma popolari u open-source għall-iżviluppaturi u l-amministraturi tas-sistema biex jibnu, imexxu u jaqsmu applikazzjonijiet ma’ kontenituri. Il-kontejnerizzazzjoni (l-użu ta' kontenituri biex jintużaw applikazzjonijiet) qed issir popolari minħabba li l-kontenituri huma flessibbli, ħfief, portabbli, akkoppjati b'mod laxk, skalabbli, u aktar sikuri.

Dan l-artikolu huwa punt ta 'tluq tajjeb għal dawk li jibdew biex jitgħallmu kif jinstallaw u jużaw Docker fuq sistema Ubuntu 20.04 Linux b'xi kmandi bażiċi. Għal din il-gwida, aħna se ninstallaw Docker Community Edition (CE).

  • Installazzjoni ta' server Ubuntu 20.04.
  • Utent bi privileġġi biex imexxi kmand sudo.

Installazzjoni ta 'Docker fuq Ubuntu 20.04

Biex tuża l-aħħar verżjoni ta 'Docker, aħna se ninstallawha mir-repożitorju uffiċjali ta' Docker. Allura, ibda billi żżid iċ-ċavetta GPG għar-repożitorju uffiċjali ta 'Docker fis-sistema tiegħek, wara dan żid il-konfigurazzjoni tar-repożitorju mas-sors APT bil-kmandi li ġejjin.

$ 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"

Issa aġġorna l-cache tal-pakkett APT biex tinkludi l-pakketti Docker ġodda fis-sistema billi tuża l-kmand li ġej.

$ sudo apt update

Sussegwentement, installa l-pakkett Docker kif muri.

$ sudo apt install docker-ce

Matul il-proċess tal-installazzjoni tal-pakkett Docker, l-installatur tal-pakkett iqajjem is-systemd (maniġer tas-sistema u tas-servizz) biex awtomatikament jibda u jippermetti s-servizz docker. Uża l-kmandi li ġejjin biex tikkonferma li s-servizz docker huwa attiv u huwa ppermettiet li jibda awtomatikament mal-istartjar tas-sistema. Ukoll, iċċekkja l-istatus tagħha:

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

Hemm bosta kmandi systemctl oħra biex jimmaniġġjaw u jikkontrollaw is-servizz docker li jinkludi dan li ġej:

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

Biex tiċċekkja l-verżjoni ta 'Docker CE installata fis-sistema tiegħek, mexxi l-kmand li ġej:

$ docker version

Tista' tara l-kmandi tal-użu tad-docker disponibbli billi tħaddem il-kmand tad-docker mingħajr ebda għażla jew argumenti:

 
$ docker

Immaniġġja Docker bħala Utent mhux root bi Kmand sudo

B'mod awtomatiku, id-daemon Docker jorbot ma' socket UNIX (minflok port TCP) li huwa proprjetà tal-għerq tal-utent. Għalhekk id-daemon Docker dejjem jaħdem bħala l-utent root u biex tmexxi l-kmand docker, għandek bżonn tuża sudo.

Barra minn hekk, waqt l-installazzjoni tal-pakkett Docker, jinħoloq grupp imsejjaħ docker. Meta jibda d-daemon Docker, joħloq socket UNIX aċċessibbli mill-membri tal-grupp docker (li jagħti privileġġi ekwivalenti għall-utent root).

Biex tmexxi l-kmand tad-docker mingħajr sudo, żid l-utenti kollha mhux root li suppost għandhom aċċess għal docker, fil-grupp docker kif ġej. F'dan l-eżempju, il-kmand iżid l-utent li illoggja bħalissa ($USER) jew l-isem tal-utent mal-grupp docker:

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

Biex tattiva l-bidliet fil-gruppi, mexxi l-kmand li ġej:

$ newgrp docker 
$ groups

Sussegwentement, ivverifika li tista 'taħdem il-kmandi tad-docker mingħajr sudo. Il-kmand li ġej iniżżel immaġni tat-test u jmexxiha f'kontenitur. Ladarba l-kontenitur ikun qed jaħdem, jistampa messaġġ informattiv u joħroġ. Dan huwa wkoll mod ieħor biex tiċċekkja jekk l-installazzjoni tiegħek tkunx qed taħdem sew.

$ docker run hello-world

Ħidma ma 'Docker Images

Immaġini Docker hija fajl mudell li jinqara biss b'istruzzjonijiet għall-ħolqien ta 'kontenitur Docker. Tista' jew toħloq l-immaġini tad-dwana tiegħek jew tista' tuża biss dawk maħluqa minn oħrajn u ppubblikati fid-Docker Hub, l-akbar librerija u komunità fid-dinja għall-immaġini tal-kontejners.

Tista' tfittex immaġni centos fid-Docker Hub bil-kmand li ġej:

$ docker search centos 

Biex tniżżel immaġini lokalment, uża l-kmand tal-ġibda. Dan l-eżempju juri kif tniżżel l-immaġni uffiċjali centos.

$ docker pull centos

Ladarba t-tniżżil tkun lesta, tista' telenka l-immaġini disponibbli fis-sistema lokali tiegħek.

$ docker images

Jekk m'għadx għandek bżonn immaġini, tista' tneħħiha mis-sistema tiegħek.

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

Tmexxija u Ġestjoni ta' Kontenituri Docker

Kontenitur Docker huwa proċess li jaħdem b'mod nattiv fuq Linux u jaqsam il-qalba tal-magna ospitanti ma' kontenituri oħra. Rigward immaġini Docker, kontenitur huwa biss immaġni li taħdem.

Biex tibda kontenitur ibbażat fuq l-immaġini l-ġdida tiegħek centos, mexxi l-kmand li ġej fejn \centos huwa l-isem tal-immaġni lokali u \cat /etc/centos-release huwa l-kmand biex taħdem fil-kontenitur:

$ docker run centos cat /etc/centos-release

Kontenitur imexxi proċess diskret li huwa iżolat peress li għandu tiegħu stess: sistema ta 'fajls, netwerking, u siġra tal-proċess iżolata separata mill-host. Innota li tista' timmanipula kontenitur billi tuża l-ID, il-prefiss tal-ID jew l-isem tal-kontenitur kif muri hawn taħt. Il-proċess tal-kontenitur ta 'hawn fuq joħroġ wara li jibda l-kmand.

Biex telenka l-kontenituri Docker, uża l-kmand docker ps kif ġej. Uża l-bandiera -l biex turi l-aħħar kontenitur maħluq fl-istati kollha:

$ docker ps
OR
$ docker ps -l

Biex turi l-kontenituri kollha inklużi dawk li jkunu ħarġu, uża l-bandiera -a.

$ docker ps -a

Tista' wkoll tibda kontenitur billi tuża l-ID tal-kontenitur tiegħu wara li jkun ħareġ. Pereżempju, fil-kmand preċedenti, l-ID tal-kontenitur tagħna huwa 94c35e616b91. Nistgħu nibdew il-kontenitur kif muri (innota li se jmexxi l-kmand u joħroġ):

$ docker start 94c35e616b91

Biex twaqqaf kontenitur li qed jaħdem billi tuża l-ID tiegħu, uża l-kmand tal-waqfien kif muri.

$ docker stop 94c35e616b91

Docker jippermettilek ukoll li tassenja isem lil kontenitur billi tuża l-għażla --name meta tħaddem.

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

Issa tista' tuża l-isem tal-kontejner biex tmexxi (tibda, tieqaf, stats, tneħħi, eċċ.) il-kontenitur:

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

Tmexxi Sessjoni Interattiva f'Kontenitur Docker

Biex tniedi sessjoni interattiva tal-qoxra f'kontenitur biex tkun tista' tmexxi kmandi fil-kontenitur, mexxi l-kmand li ġej:

$ docker run --name my_test -it centos

Fil-kmand ta 'hawn fuq, is-swiċċijiet -it jgħidu lil Docker biex jalloka psewdo-TTY konness mal-stdin tal-kontenitur u b'hekk joħloq qoxra bash interattiva fil-kontenitur.

Tista 'toħroġ billi toħroġ il-kmand tal-ħruġ kif muri.

# exit

Jekk tippreferi ma toħroġx, tista’ tinqala’ minn kontenitur u tħallih jaħdem. Biex tagħmel dan, uża s-sekwenza taċ-ċwievet CTRL+p imbagħad CTRL+q.

Tista 'tikkonnettja lura mal-kontenitur billi tuża l-kmand ta' waħħal li se jehmeż input, output, u flussi ta 'żbalji standard lokali mal-kontenitur li qed jaħdem:

$ docker attach my_test

Barra minn hekk, tista 'tibda kontenitur fil-mod detached billi tuża l-bandiera -d. Imbagħad uża l-kmand waħħal biex tehmeż l-input, l-output u l-flussi ta’ żball standard tat-terminal tiegħek mal-kontenitur li qed jaħdem:

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

Fl-aħħar iżda mhux l-inqas, tista 'twaqqaf kontenitur li qed jaħdem mis-sessjoni ospitanti billi tħaddem il-kmand li ġej:

$ docker kill my_test

Dak kollox! F'din il-gwida, koprejna kif tinstalla u tuża Docker CE f'Ubuntu 20.04 Linux. Jekk għandek xi mistoqsijiet, uża l-formola ta' rispons hawn taħt biex tistaqsina.