Sobes.tech
Junior

Kontainerlash kontekstida obraz nima va obrazda qanday darajalar (qatlamlar) mavjud?

sobes.tech AI

AIdan javob

Konteynerlashtirishda tasvir (yoki rasm) o‘zgarmas, yengil, mustaqil, bajariladigan dasturiy ta’minot paketidir va u ilovani ishga tushirish uchun zarur bo‘lgan hamma narsani o‘z ichiga oladi: kod, ish muhit, tizim vositalari, kutubxonalar va sozlamalar. Asosan, bu konteynerlar yaratiladigan fayl tizimi va konfiguratsiyaning "skrinshot"idir.

Tasvirning (obraz) qatlamlari (sathlari) — bu tasvirni tashkil etadigan alohida, faqat o‘qish uchun mo‘ljallangan fayl tizimlari. Har bir qatlam avvalgisiga nisbatan o‘zgarishlar to‘plamini ifodalaydi. Ular bir-birining ustiga quriladi va tasvirning to‘liq fayl tizimini hosil qiladi. Qatlamlarning afzalliklari:

  • Samardorlik: Qatlamlar keshga olinadi va tasvirlar o‘rtasida takror ishlatiladi, bu disk joyini kamaytiradi va qurishni tezlashtiradi.
  • Modullilik: Ilova yoki asosiy operatsion tizimdagi o‘zgarishlar faqat yuqori qatlamga ta’sir qiladi, pastki qatlamlarga ta’sir qilmaydi.
  • Umumiy foydalanish: Bir nechta tasvirlar umumiy asosiy qatlamlardan foydalanishi mumkin, masalan, operatsion tizim qatlamidan.

Taqdimotning odatiy tuzilishi:

  1. Asosiy qatlam: Ko‘pincha minimal operatsion tizim tasviri (masalan, Alpine, Ubuntu Base) bo‘ladi.
  2. Qarzdorlik qatlamlari: Kutubxonalar, tarjimonlar (masalan, Python, Node.js) kabi paketlar qo‘shiladi.
  3. Ilova qatlam: Ilova kodi qo‘shiladi.
  4. Sozlamalar/metadatashtlar qatlam: Ilovani qanday ishga tushirish kerakligini tavsiflaydi (ENTRYPOINT, CMD).

Har bir Dockerfile ko‘rsatmasi odatda yangi tasvir qatlamini yaratadi. Masalan, RUN buyruqi buyruqlarni bajaradi va natijani yangi qatlam sifatida saqlaydi.

# Asosiy qatlam
FROM ubuntu:latest

# Qarzdorlik qatlamlari
RUN apt-get update && apt-get install -y curl

# Ilova qatlam
COPY . /app
WORKDIR /app

# Sozlamalar qatlam
CMD ["node", "app.js"]