A Docker egy népszerű konténerizációs szoftver. A konténerek olyan szabványos szoftveregységek, amelyek a kódot és annak összes függőségét csomagolják, hogy egy alkalmazás gyorsan és megbízhatóan futtatható legyen különböző operációs rendszereken és számítástechnikai környezetekben.
Technikai értelemben a konténer egy olyan futó folyamat, amely el van szigetelve más folyamatoktól, és hozzáféréssel rendelkezik a számítógépes erőforrásokhoz. Ezután nézzük meg a Docker telepítését a Debian 11-ben és az első alkalmazás futtatását.
A telepítésnek két módja van, a Debian szabványos tárolóinak vagy a hivatalos Docker-tárnak a használata. A Debian tárolók nem tartalmazzák a legfrissebb verziót, ezért fontoljuk meg a hivatalos Docker-tárból történő telepítést.
A tároló hozzáadása előtt frissíteni kell a csomaglistát a parancs futtatásával:
$ sudo apt update
Telepítsen további csomagokat is, amelyek a távoli tárolókkal való munkához szükségesek. Ezen csomagok telepítéséhez futtassa a parancsot:
$ sudo apt -y install ca-certificates curl gnupg lsb-release
Ezután töltse le és adja hozzá a PGP-kulcsot az adattárból. Ehhez futtassa a parancsot:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Az adattár hozzáadásához futtassa a parancsot:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
A csomag telepítéséhez először frissíteni kell a csomaglistákat, hogy az új tároló megjelenjen a rendszerben. Ehhez egyszerűen futtassa a parancsot:
$ sudo apt update
Végül további csomagokat telepíthet. A telepítés a következő paranccsal történik:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
A docker-ce
csomag nevében a ce
szó a community
szót jelenti, ami azt jelenti, hogy az ingyenes (más néven közösségi) verzió lesz telepítve. Most már tudod, hogyan kell telepíteni a docker debian-t.
A telepítés után alapértelmezés szerint ki lesz kapcsolva. A program indításához a parancsot kell futtatni:
$ sudo systemctl start docker
Ahhoz, hogy az operációs rendszerrel együtt fusson, hozzá kell adni az autoloaderhez a paranccsal:
$ sudo systemctl enable docker
Alapértelmezés szerint csak a root felhasználó használhatja és hajthatja végre a parancsait a terminálban. Ha normál felhasználóról hajt végre bármilyen parancsot, a terminál a következő hibát jeleníti meg:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied.
Ahhoz, hogy a parancsot normál felhasználóként és a sudo
parancs használata nélkül futtassuk, hozzá kell adnunk a felhasználót a docker
csoporthoz. A docker
csoport a telepítés során automatikusan létrejön. Ha azonban valamilyen oknál fogva nem jön létre automatikusan, akkor manuálisan kell létrehozni a következő parancs végrehajtásával:
$ sudo groupadd docker
Ezután az aktuális felhasználó hozzáadásához a docker csoporthoz futtassa a következőt:
$ sudo usermod -aG docker $USER
A $USER
változó azt jelenti, hogy az aktuális felhasználó, akinek a nevében a munkamenet elindul, hozzá lesz adva a docker
csoporthoz. Ez a változó minden modern Linux disztribúcióban megtalálható. Érdemes azt is megjegyezni, hogy a docker csoport a root felhasználóval megegyező jogosultságokat biztosít.
A felhasználó hozzáadása után újra be kell jelentkezni a rendszerbe, és csak ezután lehet bármilyen Docker
parancsot futtatni a teszteléshez. Példaként a docker ps
parancsot futtattuk, amely megjeleníti a futó konténerek listáját:
$ docker ps
Amint a fenti képernyőképen látható, hiba nélkül és egy normál felhasználó nevében hajtották végre.
A Docker teljes körű teszteléséhez letölthetünk egy tesztképet a hello-worldről
ellenőrzés céljából. Ehhez végre kell hajtania:
$ docker run hello-world
A docker run
parancs letölti a szoftverképet a docker hub
online tárolóból, a Docker hivatalos, alapértelmezés szerint használt szoftverkép-tároló regiszteréből, és automatikusan futtatja azt. A példa a Hello from Docker!
kifejezést adja ki, ami azt jelenti, hogy a kép sikeresen letöltődött és lefutott.