Ubuntu 20.04-de Dockeri nädip gurmaly we ulanmaly


Docker, programmalary konteýnerler bilen gurmak, işletmek we paýlaşmak üçin döredijiler we ulgam dolandyryjylary üçin iň meşhur, açyk çeşme platformasydyr. Konteýnerizasiýa (programmalary ýerleşdirmek üçin konteýnerleri ulanmak) meşhur bolýar, sebäbi konteýnerler çeýe, ýeňil, göçme, birleşdirilen, ulaldylyp we has ygtybarly.

Bu makala, täze başlangyçlar üçin käbir esasy buýruklar bilen Ubuntu 20.04 Linux ulgamynda Docker-i nädip gurmalydygyny we ulanmalydygyny öwrenmek üçin gowy başlangyç nokady. Bu gollanma üçin Docker Community Edition (CE) gurarys.

  • Ubuntu 20.04 serwerini gurmak.
  • sudo buýrugyny işletmek hukugy bolan ulanyjy.

Ubuntu 20.04-de Docker gurmak

Docker-iň iň soňky wersiýasyny ulanmak üçin ony resmi Docker ammaryndan gurarys. Şeýlelik bilen, resmi Docker ammary üçin GPG açaryny ulgamyňyza goşup başlaň, şondan soň aşakdaky buýruklar bilen ammar konfigurasiýasyny APT çeşmesine goşuň.

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

Indi aşakdaky buýrugy ulanyp täze Docker paketlerini ulgama goşmak üçin APT paket keşini täzeläň.

$ sudo apt update

Ondan soň, görkezilişi ýaly Docker paketini guruň.

$ sudo apt install docker-ce

Docker paketini gurnamak prosesinde, paket gurnaýjy, docker hyzmatyny awtomatiki başlamaga we işletmäge systemd (ulgam we hyzmat dolandyryjysy) itergi berýär. Doker hyzmatynyň işjeňdigini we ulgam işe başlanda awtomatiki başlamaga mümkinçilik berýändigini tassyklamak üçin aşakdaky buýruklary ulanyň. Şeýle hem, ýagdaýyny barlaň:

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

Doker hyzmatyny dolandyrmak we dolandyrmak üçin aşakdakylary öz içine alýan başga-da systemctl buýruklary bar:

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

Ulgamyňyzda gurlan Docker CE wersiýasyny barlamak üçin aşakdaky buýrugy işlediň:

$ docker version

Doker buýrugyny hiç hili opsiýa ýa-da argumentsiz işledip, elýeterli dokeri ulanmak buýruklaryny görüp bilersiňiz:

 
$ docker

Docker-i sudo buýrugy bilen kök däl ulanyjy hökmünde dolandyryň

Düzgüne görä, Docker daemon ulanyjy köküne degişli UNIX rozetkasyna (TCP portunyň ýerine) baglanýar. Şonuň üçin Docker daemon hemişe kök ulanyjy hökmünde işleýär we docker buýrugyny işletmek üçin sudo ulanmaly.

Mundan başga-da, Docker paketini gurnamak wagtynda docker atly topar döredilýär. Docker daemon başlanda, doker toparynyň agzalary tarapyndan elýeterli UNIX rozetkasyny döredýär (kök ulanyja deň hukuklary berýär).

Doker buýrugyny sudo ulanman işletmek üçin, dokere girmeli diýilýän kök däl ulanyjylary aşakdaky ýaly doker toparyna goşuň. Bu mysalda buýruk häzirki hasaba alnan ulanyjy ($USER) ýa-da ulanyjy adyny doker toparyna goşýar:

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

Toparlardaky üýtgeşmeleri işjeňleşdirmek üçin aşakdaky buýrugy işlediň:

$ newgrp docker 
$ groups

Ondan soň, sudo bolmasa doker buýruklaryny işledip biljekdigiňizi barlaň. Aşakdaky buýruk synag şekilini göçürip alýar we konteýnerde işleýär. Konteýner işledilenden soň, maglumat habaryny çap edýär we çykýar. Bu, gurnamagyňyzyň gowy işleýändigini ýa-da ýokdugyny barlamagyň başga bir usulydyr.

$ docker run hello-world

Docker suratlary bilen işlemek

Docker şekili, Docker konteýnerini döretmek boýunça görkezmeler bilen diňe okalýan şablon faýlydyr. Customörite suratlaryňyzy döredip bilersiňiz ýa-da diňe beýlekiler tarapyndan döredilen we konteýner şekilleri üçin dünýäniň iň uly kitaphanasy we jemgyýeti bolan Docker Hub-da neşir edilen suratlary ulanyp bilersiňiz.

Docker Hub-da aşakdaky buýruk bilen sentos şekilini gözläp bilersiňiz:

$ docker search centos 

Locallyerli suraty göçürip almak üçin çekmek buýrugyny ulanyň. Bu mysal, resmi sentos şekilini nädip göçürip almalydygyny görkezýär.

$ docker pull centos

Göçürip alanyňyzdan soň, ýerli ulgamda bar bolan suratlary sanap bilersiňiz.

$ docker images

Indi şekil gerek däl bolsa, ony ulgamyňyzdan aýryp bilersiňiz.

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

Doker konteýnerlerini işletmek we dolandyrmak

Docker konteýner, Linux-da ýerli işleýän we baş enjamyň ýadrosyny beýleki konteýnerler bilen paýlaşýan prosesdir. Docker şekili barada aýdylanda, konteýner diňe işleýän şekil.

Täze sentos şekiliňize esaslanýan konteýner açmak üçin aşakdaky buýrugy işlediň, bu ýerde \centos ýerli surat ady we\cat/etc/centos-release konteýnerde işlemek buýrugydyr:

$ docker run centos cat /etc/centos-release

Konteýner öz aýratynlygy bilen izolirlenen aýratyn bir prosesi ýerine ýetirýär: faýl ulgamy, torlaýyn we öý eýesinden aýry izolýasiýa prosesi agajy. Konteýneriň şahsyýetini, ID-prefiksini ýa-da aşakda görkezilişi ýaly ady ulanyp, bir konteýner dolandyryp biljekdigiňize üns beriň. Aboveokardaky konteýner prosesi buýruk gutarandan soň çykýar.

Docker konteýnerlerini sanamak üçin doker ps buýrugyny aşakdaky ýaly ulanyň. Stateshli ştatlarda iň täze döredilen konteýni görkezmek üçin -l baýdagyny ulanyň:

$ docker ps
OR
$ docker ps -l

Çykanlary goşmak bilen ähli gaplary görkezmek üçin -a baýdagyny ulanyň.

$ docker ps -a

Konteýner ID-den çykandan soň başlap bilersiňiz. Mysal üçin, öňki buýrukda konteýner belgimiz 94c35e616b91. Konteýni görkezilişi ýaly başlap bileris (buýrugy ýerine ýetirer we çykar):

$ docker start 94c35e616b91

Şahsyýetini ulanyp işleýän konteýneriň öňüni almak üçin, stop buýrugyny görkezilişi ýaly ulanyň.

$ docker stop 94c35e616b91

Docker, işledilende --name opsiýasyny ulanyp, konteýnerde at bellemäge mümkinçilik berýär.

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

Indi konteýner dolandyrmak (başlamak, durmak, statistika, aýyrmak we ş.m.) konteýneriň adyny ulanyp bilersiňiz:

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

Doker konteýnerine interaktiw sessiýa geçirmek

Konteýneriň içindäki buýruklary işletmek üçin konteýnerde interaktiw gabyk sessiýasyny başlatmak üçin aşakdaky buýrugy işlediň:

$ docker run --name my_test -it centos

Aboveokardaky buýrukda, -it wyklýuçatelleri Dockere konteýneriň stdine birikdirilen pseudo-TTY bölüp bermegi aýdýar we şeýlelik bilen konteýnerde interaktiw baş gabygyny döredýär.

Görkezilişi ýaly çykyş buýrugy bilen çykyp bilersiňiz.

# exit

Çykmazlygy makul bilýän bolsaňyz, konteýnerden aýryp, işlemegini goýup bilersiňiz. Munuň üçin CTRL + p , soňra CTRL + q düwme yzygiderliligini ulanyň.

Işleýän konteýnerde ýerli standart giriş, çykyş we ýalňyşlyk akymlaryny birikdirjek goşma buýrugyny ulanyp, konteýneriň içine birigip bilersiňiz:

$ docker attach my_test

Mundan başga-da, -d baýdagyny ulanyp, aýratyn konteýner başlap bilersiňiz. Soňra terminalyňyzyň adaty girişini, çykyşyny we ýalňyşlyk akymlaryny işleýän konteýnere dakmak üçin attach buýrugyny ulanyň:

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

Iň soňkusy, aşakdaky buýrugy ýerine ýetirip, işleýän sessiýadan işleýän konteýni duruzyp bilersiňiz:

$ docker kill my_test

Bu hemmesi! Bu gollanmada Ubuntu 20.04 Linux-da Docker CE-ni nädip gurmalydygyny we ulanmalydygyny ara alyp maslahatlaşdyk. Soraglaryňyz bar bolsa, bize jogap bermek üçin aşakdaky jogap görnüşini ulanyň.