EDU::GAMF::Felhőalapú-szolgáltatások::Docker

Innen: Farkas Attila Wiki
A lap korábbi változatát látod, amilyen ApelPro (vitalap | szerkesztései) 2022. október 25., 21:59-kor történt szerkesztése után volt. (→‎Egyéb konténer technológiák)
Ugrás a navigációhoz Ugrás a kereséshez

Mi az a Docker?

A Docker a konténer technológiák egyike. A konténerek és a virtuális gépek rokonságban állnak egymással, de mégis nagy különbség van közöttük: a konténerek pehelykönnyűek.

De hogyan válik egy virtuális gép pehelykönnyűvé? A válasz az, hogy Docker esetében nincs hardvervirtualizáció, így kisebb az erőforrásigénye - nem kell az eszközökre "memory map"-ot létrehozni a felmerülő biztonsági problémák kezelésére és nem kell minden hozzáférésnél azokat forwardolni - és a benne futó operációs rendszerek is a lehető legminimálisabb konfigurációval rendelkeznek.

Tekintsük meg egy virtuális gép szintjeit (lásd: VM szintek):

  1. A fizikai vas szintje fölé telepítünk valamilyen hypervisort, azaz virtualizációs környezetet
    • itt jön létre az említett "memory map"
    • a virtuális gépek az itt beállított hardverkörnyezetet fogják látni, ami akár fals információ is lehet, eltérhet a valóságtól (kompatibilitások miatt szokás átverni a felsőbb szinteket)
  2. A Virtualizált OS szintje, saját kernellel és driverekkel
  3. A virtuális gépben telepített alkalmazások szintje

Ezzel szemben tekintsük meg a Docker szintjeit (lásd: Docker szintek vagy VM vs Docker

  1. A fizikai vas szintje fölé telepítjük a HOST operációs rendszert, ami többnyire valamilyen linux alapú operációs rendszer
  2. Az operációs rendszeren telepítünk egy konténerizációs alkalmazást (esetünkben docker daemon-t)
  3. Az elindított konténerek a telepített konténerizációs alkalmazással kommunikálnak számukra ez az API a HOST operációs rendszere felé.

Végső soron a nagy különbséget az jelenti, hogy a konténerek esetén a kernelt nem virtualizáljuk, hanem felhasználjuk a HOST operációs rendszerét, így mindent, ami az alatti szinten található ki vehetjük a virtuális környezet menedzseléséből.

Egyéb konténer technológiák

Szerencsés megjegyezni, hogy bár a piac nagy részét jelenleg a Docker birtokolja a konténerek világában, azért nem nevezhetjük egyeduralkodónak. Vannak egyéb fejlesztések is, amelyek bizonyos esetekben célravezetőbbek lehetnek, bár ezek felhasználási területei jóval szegényesebbek.

A teljesség igénye nélkül egy pár nevesebb (a többit lásd: Docker alternatívák 2022-ben:

  • LXC / LXD, azaz Linux Container, amelyet többet között a Proxmox is támogat (a proxmox egy ESXi-hez hasonló virtuális gép vezérlő operációs rendszer, amelyet a VPS szolgáltatók (is) használnak).
  • Podman
  • RunC
  • Containerd
Érdemes tájékozódni, mielőtt egy technológiát ténylegesen ajánlatba adunk, gyorsan fejlődik az iparág, így könnyedén jelenhetnek meg újabb szereplők is, akik lesöprik a megszokott dolgokat!

Docker előfordulásai

Docker registry

Docker Telepítése

Docker conatainerek indítása

Docker image készítése

Saját image feltöltése registrybe

Docker hálózatok

Saját docker registry létrehozása

Docker containerek csoportosítása (compose)