Docker
Mi az a konténer és mi az az image?
Image rétegek, futó konténer, image vs konténer analógia, és Docker registry szerepe.
Mi az a konténer és mi az az image?
Docker image
A Docker image egy csak olvasható sablon, amelyből konténereket lehet indítani. Az image tartalmazza:
- OS alapréteg (pl. Ubuntu, Alpine)
- alkalmazás kódja / binárisai
- könyvtárak és függőségek
- futtatási konfiguráció
Az image-ek rétegekből (layers) épülnek fel. Minden Dockerfile utasítás új réteget hoz létre, ami hatékony cache-elést és kisebb méretet tesz lehetővé.
Docker konténer
A konténer egy futó image példány. Ha az image az osztály (class), akkor a konténer az objektum (instance). Egy image-ből több konténert indíthatsz, egymástól izoláltan.
| Tulajdonság | Image | Konténer |
|---|---|---|
| Állapot | Statikus, csak olvasható | Dinamikus, írható |
| Analógia | Recept / osztálydefiníció | Elkészült étel / objektum példány |
| Tárolás | Registry-ben (pl. Docker Hub) | Lokálisan fut |
| Létrehozás | docker build | docker run |
Docker Registry
A registry egy tároló és elosztórendszer Docker image-ekhez. A legismertebb a Docker Hub, de gyakoriak a privát registry-k is (AWS ECR, GitHub Container Registry).
Rövid összefoglaló
- Az image statikus sablon; a konténer futó példány.
- Image-ek rétegekben épülnek fel, ezért a cache kulcsfontosságú.
- Registry-ben tárolod és osztod meg az image-eket.