Docker guruň we CentOS we RHEL 8/7-de esasy konteýner manipulýasiýasyny öwreniň - 1-nji bölüm


Bu 4 makalaly seriýamyzda, ulanyjylara kiçi gaplara salnan programmalary döretmäge, işletmäge we ýerleşdirmäge mümkinçilik berýän açyk çeşme ýeňil wirtuallaşdyrma guraly bolan Docker hakda maslahat ederis.

Linux konteýnerleriniň bu görnüşiniň çalt, ykjam we ygtybarlydygy subut edildi. Docker konteýnerinde işleýän amallar hemişe esasy öý eýesinden üzňeleşýär we daşardan ýykylmagynyň öňüni alýar.

Bu gollanma Centock/RHEL 8/7-de Docker-i nädip gurmalydygy, Docker konteýnerlerini döretmek we işletmek barada başlangyç nokady berýär, ýöne Dockeriň ýüzüni zordan çyzýar.

1-nji ädim: Dockeri guruň we sazlaň

1. Docker-iň öňki wersiýalaryna doker ýa-da doker-motor diýilýärdi, eger bu gurnan bolsaňyz, has täze docker-ce wersiýasyny gurmazdan ozal olary aýyrmaly.

# yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Docker motorynyň iň soňky wersiýasyny gurmak üçin Docker ammaryny gurmaly we ulgamda Docker-iň durnukly ammaryny işletmek üçin yum-utils paketini gurmaly.

# yum install -y yum-utils
# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Indi has täze docker-ce wersiýasyny Docker ammaryndan we konteýnerden el bilen guruň, sebäbi käbir meseleler sebäpli Red Hat konteýnerd.io> 1.2.0-3.el7 gurulmagyny petikledi. doker-ce baglylygydyr.

# yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# yum install docker-ce docker-ce-cli

4. Ondan soň, Docker bukjasy guruldy, daemony işe giriziň, ýagdaýyny barlaň we aşakdaky buýruklary ulanyp ulgamlaýyn işlediň:

# systemctl start docker 
# systemctl status docker
# systemctl enable docker

5. Netijede, aşakdaky buýrugy berip, Dockeriň dogry işleýändigini ýa-da ýokdugyny barlamak üçin konteýner synag şekilini işlediň:

# docker run hello-world

Aşakdaky habary görüp bilýän bolsaňyz, hemme zat dogry ýerde.

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. Indi, Docker hakda käbir maglumatlary almak üçin birnäçe esasy Docker buýruklaryny işledip bilersiňiz:

# docker info
# docker version

7. availablehli elýeterli Docker buýruklarynyň sanawyny almak üçin konsolyňyza doker ýazyň.

# docker

2-nji ädim: Docker suratyny göçürip alyň

8. Docker konteýnerini işe girizmek we işletmek üçin ilki bilen öý eýesi Docker Hub-dan surat göçürilmeli. Docker Hub ammarlaryndan köp mugt suratlary hödürleýär.

Docker şekilini gözlemek üçin Ubuntu, aşakdaky buýrugy beriň:

# docker search ubuntu

9. Islegleriňize baglylykda haýsy şekili işletmek isleýändigiňize karar bereniňizden soň, aşakdaky buýrugy ýerine ýetirip ýerli derejede göçürip alyň (bu ýagdaýda Ubuntu suraty göçürilýär we ulanylýar):

# docker pull ubuntu

10. hosteriňizdäki bar bolan Docker suratlaryny sanamak üçin aşakdaky buýrugy beriň:

# docker images

11. Indi Docker suraty gerek däl bolsa we ony alyp baryjydan aşakdaky buýrugy aýyrmak isleseňiz:

# docker rmi ubuntu

3-nji ädim: Docker konteýnerini işlediň

Surata garşy buýruk ýerine ýetireniňizde, esasan konteýner alarsyňyz. Konteýnerde ýerine ýetirilýän buýruk gutarandan soň, konteýner saklanýar (işlemeýän ýa-da çykmaýan konteýner alarsyňyz). Şol bir surata başga bir buýrugy işletseňiz, täze konteýner döredilýär we ş.m.

Döredilen ähli konteýnerler, docker rm buýrugy bilen pozmagy saýlaýançaňyz, baş faýl ulgamynda galar.

12. Konteýner döretmek we işletmek üçin buýrugy göçürilen surata işlemeli, bu ýagdaýda Ubuntu, şonuň üçin esasy buýruk aşakdaky ýaly pişik buýrugy bilen konteýneriň içinde paýlanyş wersiýasy faýlyny görkezmek bolar. mysal:

# docker run ubuntu cat /etc/issue

Aboveokardaky buýruk aşakdaky ýaly bölünýär:

# docker run [local image] [command to run into container]

13. Konteýnerleriň birini döretmek üçin ýerine ýetirilen buýruk bilen gaýtadan işletmek üçin ilki bilen işleýänleriň sanawyny görkezýän aşakdaky buýrugy bermek bilen konteýner ID-ni (ýa-da Docker tarapyndan awtomatiki usulda döredilen at) almaly we saklanan (işlemeýän) gaplar:

# docker ps -l 

14. Konteýner ID-si alnandan soň, aşakdaky buýrugy bermek bilen konteýner ony döretmek üçin ulanylan buýruk bilen täzeden başlap bilersiňiz:

# docker start 923a720da57f

Bu ýerde 923a720da57f setiri konteýner ID-ni görkezýär.

15. Konteýner işleýän ýagdaýynda, docker ps buýrugy berip, şahsyýetnamasyny alyp bilersiňiz. Işleýän konteýner meselesini duruzmak üçin konteýner ID-sini ýa-da awtomatiki döredilen adyny görkezip docker stop buýrugy.

# docker stop 923a720da57f
OR
# docker stop cool_lalande
# docker ps

16. Has owadan alternatiwa, şonuň üçin konteýner ID-ni ýadyňyzdan çykarmaly dälsiňiz, buýruk setirindäki ýaly --name opsiýasyny ulanyp, döreden her bir konteýneriňize özboluşly bir at bermek bolar. aşakdaky mysal:

# docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Soňra, konteýner üçin bölünen adyňyzy ulanyp, aşakdaky mysallarda bolşy ýaly, adyna ýüzlenip, konteýnerleri dolandyryp bilersiňiz (başlamak, durmak, aýyrmak, ýokarky, statistika):

# docker start ubuntu20.04
# docker stats ubuntu20.04
# docker top ubuntu20.04 

Konteýner döretmek üçin ulanylan buýruk prosesi gutarsa, ýokardaky buýruklaryň käbiri hiç hili netije görkezip bilmez. Konteýneriň içinde işleýän amal gutarandan soň, konteýner saklanýar.

4-nji ädim: Konteýnerde interaktiw sessiýany işlediň

18. Konteýner gabygynyň sessiýasyna interaktiw birikmek we beýleki Linux sessiýalarynda bolşy ýaly buýruklary işletmek üçin aşakdaky buýrugy beriň:

# docker run -it ubuntu bash

Aboveokardaky buýruk aşakdaky ýaly bölünýär:

  1. interaktiw sessiýa başlamak üçin -i ulanylýar.
  2. -t TTY bölýär we stdin we stdout birikdirýär.
  3. ubuntu konteýner döretmek üçin ulanan suratymyzdyr.
  4. bash (ýa-da/bin/bash) Ubuntu konteýneriniň içinde işleýän buýrugymyzdyr.

19. Işleýän konteýner sessiýasyndan çykmak we öý eýesine gaýdyp gelmek üçin çykyş buýrugyny ýazmaly. Çykyş buýrugy ähli konteýner amallaryny bes edýär we ony saklaýar.

# exit

20. Konteýner terminaly barada interaktiw giren bolsaňyz we konteýneriň işlemegini dowam etdirmeli bolsaňyz, ýöne interaktiw sessiýadan çykmaly bolsaňyz, Ctrl + p basyp, konsoldan çykyp, baş terminala gaýdyp bilersiňiz. we Ctrl + q düwmeleri.

21. Işleýän konteýner bilen täzeden birikmek üçin konteýner ID ýa-da ady gerek. Şahsyýetini ýa-da adyny almak üçin docker ps buýrugy beriň we ýokardaky suratda görkezilişi ýaly konteýner ID ýa-da adyny görkezmek bilen docker attach buýrugyny işlediň:

# docker attach <container id>

22. Başlangyç sessiýasyndan işleýän konteýneriň öňüni almak üçin aşakdaky buýrugy beriň:

# docker kill <container id>

Bularyň hemmesi esasy konteýner manipulýasiýasy üçin. Indiki sapakda web serwerini Docker konteýnerine nädip tygşytlamalydygyny, pozmalydygyny we işlemelidigini ara alyp maslahatlaşarys.