Sobes.tech
Junior

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.