Контейнеризациянын контекстинде сүрөт (имаж) эмне жана сүрөттүн кайсы деңгээлдери (катмары) бар?
sobes.tech AI
AIден жооп
Контейнеризацияда образ (жеки сүрөт) өзгөрүлбөс, жеңил, өзүнчө, ишке ашырылуучу программалык пакет болуп саналат жана ал колдонмону иштетүү үчүн керектүү бардык нерсени камтыйт: код, ишке киргизүү чөйрөсү, системалык инструменттер, китепканалар жана жөндөөлөр. Негизинен, бул файл тутумунун жана конфигурациянын "сүрөтү" болуп саналат, андан контейнерлер түзүлөт.
Образдын (сүрөттүн) катмары (слойлору) — бул бөлүнгөн, тек гана окуу үчүн арналган файл тутумдары, алар образды түзөт. Ар бир катмары алдыңкы катмарына салыштырмалуу өзгөрүүлөрдүн топтомун көрсөтөт. Алар бири-биринин үстүнө курулуп, образдын толук файл тутумун түзөт. Катмардын артыкчылыктары:
- Ийкемдүүлүк: Катмары кэшке алынып, образдар арасында кайра колдонулат, бул дисктин кеңейишин азайтат жана куруу ылдамдыгын жогорулатат.
- Модулдуктык: Колдонмо же негизги иштөө тутумундагы өзгөрүүлөр гана жогорку катмарга таасир этет, төмөнкү катмарларга тийбейт.
- Бөлүштүрүү: Бир нече образдар жалпы негизги катмарыны колдонушу мүмкүн, мисалы, иштөө тутумунун катмары.
Типтүү катмар түзүлүшү:
- Негизги катмар: Көп учурда минималдуу иштөө тутуму образын камтыйт (мисалы, Alpine, Ubuntu Base).
- Тамырлар катмары: Китепканалар, интерпретаторлор (мисалы, Python, Node.js) кошулат.
- Колдонмо катмары: Колдонмонун коду кошулат.
- Конфигурация/метадата катмары: Колдонмонун кандай иштетилиши керектигин сүрөттөйт (ENTRYPOINT, CMD).
Ар бир Dockerfile көрсөтмөсү адатта жаңы образ катмары түзөт. Мисалы, RUN командасы командаларды иштетет жана натыйжаны жаңы катар катары сактайт.
# Негизги катмар
FROM ubuntu:latest
# Тамырлар катмары
RUN apt-get update && apt-get install -y curl
# Колдонмо катмары
COPY . /app
WORKDIR /app
# Конфигурация катмары
CMD ["node", "app.js"]