Installige Docker ja õppige konteineritega manipuleerimist CentOS-is ja RHEL 8/7 - 1. osa


Selles 4-artiklises seerias käsitleme Dockerit, mis on avatud lähtekoodiga kerge virtualiseerimistööriist, mis töötab operatsioonisüsteemi tasemel, võimaldades kasutajatel luua, käivitada ja juurutada rakendusi, mis on kapseldatud väikestesse konteineritesse.

On tõestatud, et seda tüüpi Linuxi konteinerid on kiired, kaasaskantavad ja turvalised. Dockeri konteineris töötavad protsessid on alati põhihostist eraldatud, välistades välise rikkumise.

See õpetus annab lähtekoha Dockeri installimiseks, Dockeri konteinerite loomiseks ja käitamiseks CentOS/RHEL 8/7-s, kuid vaevu kriimustab Dockeri pinda.

1. samm: installige ja konfigureerige Docker

1. Dockeri varasemaid versioone nimetati dockeriks või docker-mootoriks. Kui teil on need installitud, peate need enne uue docker-ce versiooni installimist desinstallima.

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

2. Docker Engine'i uusima versiooni installimiseks peate seadistama Dockeri hoidla ja installima paketi yum-utils, et võimaldada Dockeri stabiilne hoidla süsteemis.

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

3. Nüüd installige Dockeri hoidlast ja containerd uuem versioon docker-ce käsitsi, sest mõnede probleemide tõttu blokeeris Red Hat containerd.io> 1.2.0-3.el7 installimise, mis on dokk-ce sõltuvus.

# 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. Pärast Dockeri paketi installimist käivitage deemon, kontrollige selle olekut ja lubage see kogu süsteemi ulatuses, kasutades järgmisi käske:

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

5. Lõpuks käivitage konteineri testpilt, et kontrollida, kas Docker töötab korralikult, väljastades järgmise käsu:

# docker run hello-world

Kui näete allolevat teadet, on kõik õiges kohas.

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. Nüüd saate Dockeri kohta teabe saamiseks käivitada mõned Dockeri põhikäsklused:

# docker info
# docker version

7. Kõigi saadaolevate Dockeri käskude loendi saamiseks sisestage docker oma konsoolile.

# docker

2. samm: laadige alla Dockeri pilt

8. Dockeri konteineri käivitamiseks ja käitamiseks tuleb kõigepealt oma hostis asuvast Docker Hubist alla laadida pilt. Docker Hub pakub oma hoidlatest palju tasuta pilte.

Dockeri pildi otsimiseks väljastab Ubuntu näiteks järgmise käsu:

# docker search ubuntu

9. Kui olete otsustanud, millist pilti soovite oma vajaduste põhjal käivitada, laadige see kohapealt alla, käivitades alltoodud käsu (antud juhul laaditakse alla ja kasutatakse Ubuntu pilti):

# docker pull ubuntu

10. Kõigi hostis saadaolevate Dockeri piltide loetlemiseks väljastage järgmine käsk:

# docker images

11. Kui te ei vaja enam Dockeri pilti ja soovite selle hostist eemaldada, väljastage järgmine käsk:

# docker rmi ubuntu

3. samm: käivitage Dockeri konteiner

Kui täidate pildi vastu käsu, saate põhimõtteliselt konteineri. Pärast konteinerisse käivitatava käsu lõppu konteiner peatub (kuvatakse mittetöötav või väljunud konteiner). Kui käivitate uuesti samale pildile teise käsu, luuakse uus konteiner ja nii edasi.

Kõik loodud konteinerid jäävad hostifailisüsteemi seni, kuni otsustate need käsuga docker rm kasutada.

12. Konteineri loomiseks ja käitamiseks peate käivitama käsu allalaaditud pildile, antud juhul Ubuntu, nii et põhikäsk oleks displeiversiooni faili kuvamine konteineris kassi käsu abil, nagu järgmises näide:

# docker run ubuntu cat /etc/issue

Ülaltoodud käsk jaguneb järgmiselt:

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

13. Ühe konteineri uuesti käivitamiseks selle loomiseks täidetud käsuga peate esmalt hankima konteineri ID (või Dockeri automaatselt genereeritud nime), väljastades allpool oleva käsu, mis kuvab käivitatavate ja peatatud (mittekäivad) konteinerid:

# docker ps -l 

14. Kui konteineri ID on saadud, saate konteinerit uuesti käivitada selle loomiseks kasutatud käsuga, väljastades järgmise käsu:

# docker start 923a720da57f

Siin tähistab string 923a720da57f konteineri ID-d.

15. Juhul, kui konteiner töötab, saate selle ID väljastades käsu docker ps . Käivitatava konteineriprobleemi docker stop peatamiseks määrake konteineri ID või automaatselt loodud nimi.

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

16. Elegantsem alternatiiv, nii et te ei pea meeles pidama konteineri ID-d, oleks iga loodud konteineri jaoks ainulaadse nime määramine käsureal oleva valiku --name abil, nagu järgmine näide:

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

17. Seejärel saate konteineri jaoks määratud nime abil konteinerit (alustamine, peatamine, eemaldamine, ülemine, statistika) edasi manipuleerida, lihtsalt adresseerides selle nime, nagu allpool toodud näidetes:

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

Pidage meeles, et mõned ülaltoodud käsud ei pruugi väljundit kuvada, kui konteineri loomiseks kasutatud käskude protsess lõpeb. Kui mahuti sees toimuv protsess lõpeb, peatub konteiner.

4. samm: käivitage interaktiivne seanss konteinerisse

18. Selleks, et interaktiivselt luua ühendus konteineri kesta seansiga ja käskude käivitamiseks nagu muul Linuxi seansil, väljastage järgmine käsk:

# docker run -it ubuntu bash

Ülaltoodud käsk jaguneb järgmiselt:

  1. -i kasutatakse interaktiivse seansi alustamiseks.
  2. -t eraldab TTY ning lisab stdin ja stdout.
  3. ubuntu on pilt, mida kasutasime konteineri loomiseks.
  4. bash (või/bin/bash) on käsk, mida käivitame Ubuntu konteineris.

19. Jooksva konteineriseansi lõpetamiseks ja hostile naasmiseks peate sisestama käsu exit . Väljumiskäsk lõpetab kõik konteineri protsessid ja peatab selle.

# exit

20. Kui olete interaktiivselt konteinerterminali viipesse sisse loginud ja peate hoidma konteineri töötavas olekus, kuid peate interaktiivsest seansist väljuma, saate konsooli sulgeda ja hostiterminali naasta, vajutades Ctrl + p ja Ctrl + q .

21. Töötava konteineriga uuesti ühenduse loomiseks vajate konteineri ID-d või nime. Andke ID või nime saamiseks käsk docker ps ja seejärel käivitage käsk docker attach , määrates konteineri ID või nime, nagu on näidatud ülaltoodud pildil:

# docker attach <container id>

22. Töötava konteineri peatamiseks hostiseansilt väljastage järgmine käsk:

# docker kill <container id>

See on kõik tavalise konteinerite manipuleerimise jaoks. Järgmises õpetuses arutame, kuidas veebiserverit Dockeri konteinerisse salvestada, kustutada ja käivitada.