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ň.