Mi a különbség a kép és a konténer között?
sobes.tech MI
Válasz az MI-től
Kép (image) — ez egy statikus, változatlan pillanatkép a fájlrendszerről és a konfigurációs paraméterekről, amelyek szükségesek egy alkalmazás indításához. Sablonként szolgál.
Egy konténer (container) egy futó példány egy képből. Dinamikus, és saját hálózati interfésszel, fájlrendszerrel (amely a képre épül) és elszigetelt környezettel rendelkezik.
| Jellemző | Kép | Konténer |
|---|---|---|
| Állapot | Változatlan | Változtatható |
| Entitás | Sablon | Futó példány |
| Méret | Általában kisebb, mint a futó konténer | Lehet nagyobb az írási réteg miatt |
| Életciklus | Létrejön, tárolódik | Létrejön, elindul, leáll, töröl |
Példa: Dockerfile:
# Alap kép
FROM ubuntu:latest
# Alkalmazás másolása
COPY app /app
# Függőségek telepítése
RUN apt-get update && apt-get install -y python3
# Munkakönyvtár meghatározása
WORKDIR /app
# Indítási parancs
CMD ["python3", "main.py"]
Ez a Dockerfile leírja, hogyan építsünk képet. A kép elkészítése után, például a docker build -t myapp . parancs segítségével, egy statikus myapp kép jön létre.
Ezután a docker run -d myapp parancs futtatásával létrehozunk egy konténert ebből a képből. Ez a konténer egy aktív folyamat, amelyben az alkalmazásunk fut. Több konténer is létrehozható ugyanabból a képből. A konténeren belüli változtatások (pl. fájlírás) nem befolyásolják a képet vagy más, ugyanabból a képből létrehozott konténereket, a Copy-on-Write mechanizmusnak köszönhetően.