Jinsi ya Kufunga na Kutumia Docker kwenye Ubuntu 20.04


Docker ni jukwaa maarufu, la chanzo-wazi kwa wasanidi programu na wasimamizi wa mfumo kujenga, kuendesha, na kushiriki programu na vyombo. Uwekaji vyombo (matumizi ya kontena kupeleka programu) unakuwa maarufu kwa sababu makontena ni rahisi kunyumbulika, mepesi, yanayoweza kubebeka, yaliyounganishwa kwa urahisi, yanaweza kupanuka na salama zaidi.

Nakala hii ni mahali pazuri pa kuanzia kwa wanaoanza kujifunza jinsi ya kusakinisha na kutumia Docker kwenye mfumo wa Linux wa Ubuntu 20.04 na amri kadhaa za kimsingi. Kwa mwongozo huu, tutasakinisha Toleo la Jumuiya ya Docker (CE).

  • Usakinishaji wa seva ya Ubuntu 20.04.
  • Mtumiaji aliye na mapendeleo ya kutekeleza amri ya sudo.

Kufunga Docker kwenye Ubuntu 20.04

Ili kutumia toleo la hivi karibuni la Docker, tutaisakinisha kutoka kwa hazina rasmi ya Docker. Kwa hivyo, anza kwa kuongeza kitufe cha GPG cha hazina rasmi ya Docker kwenye mfumo wako, baada ya hapo ongeza usanidi wa hazina kwenye chanzo cha APT na amri zifuatazo.

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

Sasa sasisha kashe ya kifurushi cha APT ili kujumuisha vifurushi vipya vya Docker kwenye mfumo kwa kutumia amri ifuatayo.

$ sudo apt update

Ifuatayo, sasisha kifurushi cha Docker kama inavyoonyeshwa.

$ sudo apt install docker-ce

Wakati wa mchakato wa usakinishaji wa kifurushi cha Docker, kisakinishi cha kifurushi huchochea mfumo (mfumo na meneja wa huduma) kuanza kiotomatiki na kuwezesha huduma ya kizimbani. Kutumia amri zifuatazo ili kuthibitisha kuwa huduma ya docker inatumika na imewezeshwa kuanza kiotomatiki wakati wa kuanzisha mfumo. Pia, angalia hali yake:

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

Kuna amri zingine kadhaa za systemctl za kusimamia na kudhibiti huduma ya kizimbani ambayo ni pamoja na yafuatayo:

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

Kuangalia toleo la Docker CE iliyosanikishwa kwenye mfumo wako, endesha amri ifuatayo:

$ docker version

Unaweza kutazama amri zinazopatikana za utumiaji wa docker kwa kuendesha amri ya kizimbani bila chaguzi au hoja yoyote:

 
$ docker

Simamia Docker kama Mtumiaji asiye na mizizi na Amri ya sudo

Kwa chaguo-msingi, daemoni ya Docker hufunga kwenye tundu la UNIX (badala ya lango la TCP) ambalo linamilikiwa na mzizi wa mtumiaji. Kwa hivyo daemon ya Docker daima huendesha kama mtumiaji wa mizizi na kutekeleza amri ya docker, unahitaji kutumia sudo.

Kando na hayo, wakati wa usakinishaji wa kifurushi cha Docker, kikundi kinachoitwa docker huundwa. Daemon ya Docker inapoanza, huunda tundu la UNIX linaloweza kufikiwa na washiriki wa kikundi cha kizimbani (ambacho hutoa mapendeleo sawa na mtumiaji wa mizizi).

Ili kutekeleza amri ya docker bila sudo, ongeza watumiaji wote wasio na mizizi ambao wanapaswa kufikia docker, kwenye kikundi cha docker kama ifuatavyo. Katika mfano huu, amri inaongeza mtumiaji aliyeingia kwa sasa ($USER) au jina la mtumiaji kwenye kikundi cha docker:

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

Ili kuwezesha mabadiliko kwa vikundi, endesha amri ifuatayo:

$ newgrp docker 
$ groups

Ifuatayo, thibitisha kuwa unaweza kuendesha amri za docker bila sudo. Amri ifuatayo inapakua picha ya jaribio na kuiendesha kwenye chombo. Mara baada ya kontena kufanya kazi, huchapisha ujumbe wa habari na kuondoka. Hii pia ni njia nyingine ya kukagua ikiwa usakinishaji wako unafanya kazi vizuri.

$ docker run hello-world

Kufanya kazi na Picha za Docker

Picha ya Docker ni faili ya kiolezo cha kusoma tu iliyo na maagizo ya kuunda kontena ya Docker. Unaweza kuunda picha zako maalum au unaweza kutumia zile tu zilizoundwa na wengine na kuchapishwa katika Docker Hub, maktaba kubwa zaidi duniani na jumuiya ya picha za makontena.

Unaweza kutafuta picha ya centos kwenye Docker Hub kwa amri ifuatayo:

$ docker search centos 

Ili kupakua picha ndani ya nchi, tumia amri ya kuvuta. Mfano huu unaonyesha jinsi ya kupakua picha rasmi ya centos.

$ docker pull centos

Baada ya upakuaji kukamilika, unaweza kuorodhesha picha zinazopatikana kwenye mfumo wako wa karibu.

$ docker images

Ikiwa hauitaji tena picha, unaweza kuiondoa kwenye mfumo wako.

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

Kuendesha na Kusimamia Vyombo vya Docker

Chombo cha Docker ni mchakato unaoendeshwa asili kwenye Linux na hushiriki kiini cha mashine mwenyeji na vyombo vingine. Kuhusu picha ya Docker, kontena ni picha inayoendelea.

Ili kuanzisha chombo kulingana na picha yako mpya ya centos, tumia amri ifuatayo ambapo \centos ndilo jina la picha la ndani na \cat /etc/centos-release ni amri ya kukimbia kwenye chombo:

$ docker run centos cat /etc/centos-release

Chombo huendesha mchakato wa kipekee ambao umetengwa kwa kuwa una yake mwenyewe: mfumo wa faili, mtandao, na mti wa mchakato uliotengwa tofauti na seva pangishi. Kumbuka kuwa unaweza kuendesha chombo kwa kutumia kitambulisho cha chombo, kiambishi awali cha kitambulisho, au jina kama inavyoonyeshwa hapa chini. Mchakato wa kontena hapo juu hutoka baada ya amri kukimbia.

Kuorodhesha vyombo vya Docker, tumia docker ps amri kama ifuatavyo. Tumia alama ya -l ili kuonyesha kontena mpya iliyoundwa katika majimbo yote:

$ docker ps
OR
$ docker ps -l

Ili kuonyesha vyombo vyote ikiwa ni pamoja na vile ambavyo vimetoka, tumia alama ya -a.

$ docker ps -a

Unaweza pia kuanzisha kontena kwa kutumia kitambulisho cha chombo chake baada ya kuondoka. Kwa mfano, katika amri iliyotangulia, kitambulisho chetu cha chombo ni 94c35e616b91. Tunaweza kuanza kontena kama inavyoonyeshwa (kumbuka kuwa itaendesha amri na kutoka):

$ docker start 94c35e616b91

Ili kusimamisha chombo kinachoendesha kwa kutumia kitambulisho chake, tumia amri ya kusimamisha kama inavyoonyeshwa.

$ docker stop 94c35e616b91

Docker pia hukuruhusu kupeana jina kwa kontena kwa kutumia chaguo la --name unapoiendesha.

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

Sasa unaweza kutumia jina la chombo kudhibiti (anza, simamisha, takwimu, ondoa, n.k.) chombo:

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

Kuendesha Kikao cha Maingiliano kwenye Chombo cha Docker

Ili kuzindua kipindi shirikishi cha ganda kwenye chombo ili kukuwezesha kutekeleza amri ndani ya kontena, endesha amri ifuatayo:

$ docker run --name my_test -it centos

Katika amri iliyo hapo juu, swichi za -it huambia Docker kutenga pseudo-TTY iliyounganishwa kwenye stdin ya chombo hivyo kuunda ganda la kuingiliana la bash kwenye chombo.

Unaweza kutoka kwa kutoa amri ya kutoka kama inavyoonyeshwa.

# exit

Ikiwa hupendi kutoka, unaweza kujiondoa kutoka kwa kontena na kuiacha ikiendelea. Ili kufanya hivyo, tumia CTRL+p kisha CTRL+q mfuatano wa vitufe.

Unaweza kuunganisha nyuma kwenye kontena kwa kutumia amri ya ambatisha ambayo itaambatisha ingizo la kawaida, pato, na mitiririko ya hitilafu kwenye chombo kinachoendesha:

$ docker attach my_test

Kando na hayo, unaweza kuanzisha kontena katika hali iliyojitenga kwa kutumia alama ya -d. Kisha tumia amri ya ambatisha kuambatisha ingizo, pato, na mitiririko ya hitilafu ya terminal yako kwenye kontena inayoendesha:

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

Mwisho kabisa, unaweza kusimamisha kontena inayoendesha kutoka kwa kikao cha mwenyeji kwa kutekeleza amri ifuatayo:

$ docker kill my_test

Ni hayo tu! Katika mwongozo huu, tumeshughulikia jinsi ya kusakinisha na kutumia Docker CE katika Ubuntu 20.04 Linux. Ikiwa una maswali yoyote, tumia fomu ya maoni iliyo hapa chini ili kutuuliza.