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.