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:
- Asosiy qatlam: Ko‘pincha minimal operatsion tizim tasviri (masalan, Alpine, Ubuntu Base) bo‘ladi.
- Qarzdorlik qatlamlari: Kutubxonalar, tarjimonlar (masalan, Python, Node.js) kabi paketlar qo‘shiladi.
- Ilova qatlam: Ilova kodi qo‘shiladi.
- 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"]