Sobes.tech
Junior

Kuo skiriasi vaizdas nuo konteinerio?

sobes.tech AI

Atsakymas iš AI

Vaizdas (image) — tai statinis, nekintantis failų sistemos ir konfigūracijos parametrų vaizdas, reikalingas programai paleisti. Jis tarnauja kaip šablonas.

Talpykla (container) — tai vykdantis vaizdo egzempliorius. Ji yra dinamiška ir atstovauja veikiantį procesą su savo tinklo sąsaja, failų sistema (pagal vaizdą) ir izoliuota aplinka.

Savybė Vaizdas Talpykla
Būklė Nekintantis Kintantis
Esybė Šablonas Darbo egzempliorius
Dydis Paprastai mažesnis nei veikianti talpykla Gali būti didesnis dėl įrašo sluoksnio
Gyvavimo ciklas Sukuriama, saugoma Sukuriama, paleidžiama, sustabdyta, ištrinama

Pavyzdys: Dockerfile vaizdas:

# Pagrindinis vaizdas
FROM ubuntu:latest

# Programos kopijavimas
COPY app /app

# Priklausomybių įdiegimas
RUN apt-get update && apt-get install -y python3

# Darbo katalogo nustatymas
WORKDIR /app

# Paleidimo komanda
CMD ["python3", "main.py"]

Šis Dockerfile aprašo, kaip sukurti vaizdą. Po vaizdo sukūrimo, pavyzdžiui, naudodami komandą docker build -t myapp ., gauname statinį vaizdą myapp.

Tada, paleidus komandą docker run -d myapp, sukuriame talpyklą pagal šį vaizdą. Ši talpykla yra aktyvus procesas, kuriame vykdoma mūsų programa. Galima sukurti kelias talpyklas iš vieno vaizdo. Pakeitimai vienoje talpykloje (pavyzdžiui, failų rašymas) neįtakoja paties vaizdo ar kitų iš to paties vaizdo paleistų talpyklų, dėka Copy-on-Write mechanizmo.