ebben a 4 cikkes sorozatban a Dockert fogjuk megvitatni, amely egy nyílt forráskódú, könnyű virtualizációs eszköz, amely az operációs rendszer szintjén fut, lehetővé téve a felhasználók számára, hogy kis konténerekbe ágyazott alkalmazásokat hozzanak létre, futtassanak és telepítsenek.
az ilyen típusú Linux konténerek bizonyítottan gyorsak, hordozhatóak és biztonságosak. A Docker tárolóban futó folyamatokat mindig elkülönítik a fő gazdagéptől, megakadályozva a külső manipulációt.
Ez a bemutató kiindulópontot nyújt a Docker telepítéséhez, a Docker konténerek létrehozásához és futtatásához a CentOS/RHEL 8/7 rendszeren, de alig karcolja meg a Docker felületét.
1. lépés: a Docker telepítése és konfigurálása
1. A Docker korábbi verzióit dockernek vagy docker-engine-nek hívták, ha ezeket telepítette, el kell távolítania őket egy újabb docker-ce verzió telepítése előtt.
# yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2. A Docker Motor legújabb verziójának telepítéséhez be kell állítania a Docker adattárat, és telepítenie kell a yum-utils csomagot, hogy engedélyezze a Docker stabil adattárat 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 az újabb docker-ce verziót a Docker adattárból és a containerd-ből manuálisan, mert néhány probléma miatt a Red Hat blokkolta a containerd.io > 1.2.0-3.el7
telepítését, ami 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. Miután telepítette a Docker csomagot, indítsa el a démont, ellenőrizze annak állapotát, és engedélyezze az egész rendszerre az alábbi parancsokkal:
# systemctl start docker # systemctl status docker# systemctl enable docker
5. Végül futtasson egy konténer tesztképet annak ellenőrzésére, hogy a Docker megfelelően működik-e, a következő parancs kiadásával:
# 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 bashShare 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 futtathat néhány alapvető Docker parancsot, hogy információt kapjon a Docker-ről:
For system-wide information on Docker
# docker info
For Docker version
# docker version
7. To get a list of all available Docker commands type docker on your console.
# docker
2.lépés: Docker kép letöltése
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ép Docker Hub-járól. A Docker Hub sok ingyenes képet kínál 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 milyen képet szeretne futtatni az Ön igényei alapján, töltse le helyben az alábbi parancs futtatásával (ebben az esetben egy Ubuntu képet tölt le és használ):
# docker pull ubuntu
10. Az összes elérhető Dokkoló kép listázásához a következő parancsot adja ki:
# docker images
11. Ha már nincs szüksége Docker-képre, és el akarja távolítani a gazdagép problémájából, akkor a következő parancsot kell végrehajtania:
# 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 tárolót kap. A tárolóba végrehajtó parancs befejezése után a tároló leáll (nem futó vagy kilépő tárolót kap). Ha egy másik parancsot futtat ugyanabba a képbe, 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, amíg a docker rm
paranccsal nem törli őket.
12. A tároló létrehozásához és futtatásához futtatnia kell a parancsot egy letöltött képbe, ebben az esetben az Ubuntu-ba, így alapvető parancs lenne a terjesztési verziófájl megjelenítése a tárolóban cat paranccsal, mint a következő példában:
# docker run ubuntu cat /etc/issue
a fenti parancs a következőképpen oszlik meg:
# docker run
13. Az egyik tároló újbóli futtatásához a létrehozáshoz végrehajtott paranccsal először meg kell szereznie a tárolóazonosító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ót, újra elindíthatja a tárolót a létrehozásához használt paranccsal, a következő parancs kiadásával:
# docker start 923a720da57f
itt a 923a720da57f
karakterlánc képviseli a tárolóazonosítót.
15. Abban az esetben, ha a tároló állapota fut, az azonosítóját a docker ps
parancs kiadásával kaphatja meg. A futó tárolókérdés leállítása docker stop
parancs a tárolóazonosító vagy az automatikusan generált név megadásával.
# docker stop 923a720da57fOR# docker stop cool_lalande# docker ps
16. Egy elegánsabb alternatíva, hogy ne kelljen megjegyeznie a tárolóazonosítót, az lenne, ha minden létrehozott tárolóhoz egyedi nevet rendelne a--name
opció használatával 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 rendelt név használatával a tárolót (start, stop, remove, top, stats) csak a nevének megadásával kezelheti tovább, mint az alábbi példákban:
# 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 tartály belsejében futó folyamat befejeződik, a tartály leáll.
4. lépés: interaktív munkamenet futtatása egy tárolóba
18. Annak érdekében, hogy interaktívan csatlakozzon egy konténerhéj munkamenethez, és futtassa a parancsokat, 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:
-
-i
interaktív munkamenet indítására szolgál. -
-t
hozzárendel egy TTY-t, és csatolja az stdin-t és az stdout-ot. -
ubuntu
az a kép, amelyet a tároló létrehozásához használtunk. -
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 írja be a exit
parancsot. Az exit parancs leállítja az összes tárolófolyamatot és leállítja azt.
# exit
20. Ha interaktív módon bejelentkezett a konténerterminál parancssorába, és a tárolót futó állapotban kell tartania, de ki kell lépnie az interaktív munkamenetből, kiléphet a konzolból, és visszatérhet a host terminálhoz a Ctrl+p
és a Ctrl+q
gombok megnyomásával.
21. A futó tárolóhoz való újracsatlakozáshoz szükség van a tároló azonosítójára vagy nevére. Kiadás docker ps
parancs az azonosító vagy név megszerzéséhez, majd futtassa a docker attach
parancsot a tárolóazonosító vagy név megadásával, a fenti képen látható módon:
# docker attach <container id>
22. A host munkamenetből futó tároló leállításához adja ki a következő parancsot:
# docker kill <container id>
Ez minden az alapvető tárolókezeléshez. A következő oktatóanyagban megvitatjuk, hogyan lehet menteni, törölni és futtatni egy webkiszolgálót egy Docker tárolóba.