Weboldal keresés

Telepítse a Dockert és tanulja meg az alapvető konténerkezelést a CentOS és RHEL 8/7 rendszerben – 1. rész


Ebben a 4 cikkből álló sorozatban a Docker-ről fogunk beszélni, amely egy nyílt forráskódú, könnyű virtualizációs eszköz, amely az operációs rendszer szintjén fut, és lehetővé teszi a felhasználók számára, hogy kisméretű alkalmazásokba csomagolva alkalmazásokat hozzanak létre, futtassanak és telepítsenek. konténerek.

Az ilyen típusú Linux-tárolók bizonyítottan gyorsak, hordozhatóak és biztonságosak. A Docker-tárolóban futó folyamatok mindig el vannak választva a fő gazdagéptől, megakadályozva a külső manipulációt.

Ez az oktatóanyag kiindulási alapot nyújt a Docker telepítéséhez, Docker-tárolók létrehozásához és futtatásához CentOS/RHEL 8/7 rendszeren, de alig karcolja meg a Docker felületét.

1. lépés: Telepítse és konfigurálja a Dockert

1. A Docker korábbi verziói docker vagy docker-engine néven szerepeltek, ha ezeket telepítette, akkor távolítsa el őket, mielőtt egy újabb docker-ce verziót telepítene.

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

2. A a Docker Engine legújabb verziójának telepítéséhez be kell állítania a Docker-tárat, és telepítenie kell a yum-utils csomagot a Docker engedélyezéséhez. stabil tároló a rendszeren.

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

3. Most telepítse manuálisan az újabb docker-ce verziót a Docker tárolóból és a containerdből, mert bizonyos problémák miatt a Red Hat blokkolta a telepítést containerd.io > 1.2.0-3.el7, amely a docker-ce függősége.

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. A Docker-csomag telepítése után indítsa el a démont, ellenőrizze az állapotát, és engedélyezze a rendszerszinten az alábbi parancsok segítségével:

systemctl start docker 
systemctl status docker
systemctl enable docker

5. Végül a következő parancs kiadásával futtasson egy tároló tesztképet, hogy ellenőrizze, megfelelően működik-e a Docker:

docker run hello-world

Ha látja az alábbi üzenetet, akkor minden a megfelelő helyen van.

Minta kimenet
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. Most már futtathat néhány alapvető Docker-parancsot, hogy információkat szerezzen a Dockerről:

Rendszerszintű információkért a Dockerről
docker info

Docker verzióhoz
docker version

7. Az összes elérhető Docker-parancs listájának megtekintéséhez írja be a konzolon a docker-t.

docker

2. lépés: Töltse le a Docker-képet

8. A Docker-tároló elindításához és futtatásához először le kell tölteni egy képet a gazdagépen lévő Docker Hubról. A Docker Hub rengeteg ingyenes képet kínál a tárolóiból.

Docker-kép kereséséhez például az Ubuntu adja ki a következő parancsot:

docker search ubuntu

9. Miután eldöntötte, hogy az igényeinek megfelelően melyik képet szeretné futtatni, töltse le helyben az alábbi parancs futtatásával (ebben az esetben a rendszer egy Ubuntu képfájlt tölt le és használ ):

docker pull ubuntu

10. A gazdagépen elérhető összes Docker-kép listázásához adja ki a következő parancsot:

docker images

11. Ha már nincs szüksége Docker-képre, és el szeretné távolítani a gazdagépről, adja ki a következő parancsot:

docker rmi ubuntu

3. lépés: Futtasson egy Docker-tárolót

Amikor parancsot hajt végre egy kép ellen, akkor alapvetően egy tárolót kap. Miután a tárolóba végrehajtott parancs véget ér, a tároló leáll (egy nem futó vagy kilépett tárolót kap). Ha egy másik parancsot futtat ugyanabban a képfájlban, egy új tároló jön létre és így tovább.

Az összes létrehozott tároló a gazdagép fájlrendszerén marad mindaddig, amíg nem törli őket a docker rm paranccsal.

12. Tároló létrehozásához és futtatásához parancsot kell futtatnia egy letöltött képen, ebben az esetben az Ubuntuban, tehát az alapvető parancs a disztribúciós verziófájl a tárolón belül a cat paranccsal, mint az alábbi példában:

docker run ubuntu cat /etc/issue

A fenti parancs a következőképpen oszlik meg:

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

13. Az egyik tároló újbóli futtatásához a létrehozásához végrehajtott paranccsal, először meg kell szereznie a tároló azonosítóját (vagy a Docker által automatikusan generált nevet). az alábbi parancs kiadásával, amely megjeleníti a futó és leállított (nem futó) tárolók listáját:

docker ps -l 

14. Miután megszerezte a tároló azonosítóját, a következő parancs kiadásával újra elindíthatja a tárolót a létrehozásához használt paranccsal:

docker start 923a720da57f

Itt a 923a720da57f karakterlánc az ID tárolót jelenti.

15. Ha a tároló fut, az azonosítóját a docker ps parancs kiadásával szerezheti meg. A futó tároló probléma leállításához a docker stop parancsot a tároló azonosítójának vagy automatikusan generált név megadásával állíthatja le.

docker stop 923a720da57f
OR
docker stop cool_lalande
docker ps

16. Egy elegánsabb alternatíva, hogy ne kelljen emlékeznie a tároló azonosítójára, ha minden létrehozott tárolóhoz egyedi nevet rendelne a - -name opciót a parancssorban, mint a következő példában:

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

17. Ezután a tárolóhoz hozzárendelt névvel módosíthatja a tárolót (indítás, leállítás, eltávolítás)., top, stats) csak a nevének megcímzésével, ahogy az alábbi példákban látható:

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

Ne feledje, hogy a fenti parancsok némelyike nem jeleníthet meg kimenetet, ha a tároló létrehozásához használt parancsfolyamat befejeződik. Amikor a tárolóban futó folyamat befejeződik, a tároló leáll.

4. lépés: Futtasson interaktív munkamenetet egy tárolóba

18. Ha interaktív módon szeretne csatlakozni egy konténerhéj-munkamenethez, és parancsokat futtatni, mint bármely más Linux-munkameneten, adja ki a következő parancsot:

docker run -it ubuntu bash

A fenti parancs a következőképpen oszlik meg:

  1. A -i interaktív munkamenet indítására szolgál.
  2. A -t lefoglal egy TTY-t, és stdin-t és stdout-t csatol.
  3. Az ubuntu az a kép, amelyet a tároló létrehozásához használtunk.
  4. A bash (vagy /bin/bash) az a parancs, amelyet az Ubuntu-tárolóban futtatunk.

19. A futó tárolómunkamenetből való kilépéshez és a gazdagéphez való visszatéréshez be kell írnia az exit parancsot. Az exit parancs leállítja és leállítja az összes tárolófolyamatot.

exit

20. Ha interaktívan bejelentkezett a tárolóterminálra, és a tárolót futó állapotban kell tartania, de ki kell lépnie az interaktív munkamenetből, akkor kiléphet< a konzolra, és a Ctrl+p és a Ctrl+q billentyűk lenyomásával térjen vissza a gazdagéphez.

21. A futó tárolóhoz való újracsatlakozáshoz szüksége van a tároló azonosítójára vagy nevére. Adja ki a docker ps parancsot az ID vagy a name lekéréséhez, majd futtassa a docker attach parancsot a < tároló megadásávalID vagy name, a fenti képen látható módon:

docker attach <container id>

22. Egy futó tároló leállításához a gazdagép munkamenetből adja ki a következő parancsot:

docker kill <container id>

Ez mind az alapvető konténerkezeléshez. A következő oktatóanyagban megvitatjuk, hogyan lehet egy webszervert elmenteni, törölni és Docker-tárolóba futtatni.