Containerization — bu dasturiy ta’minotni o‘zining barcha kerakli komponentlari (kutilayotgan kutubxonalar, bog‘liqliklar, konfiguratsiyalar) bilan konteyner nomli alohida muhitda joylashtirish va ishga tushirish texnologiyasidir. Bu texnologiya dasturlarni har qanday muhitda (lokal, server, bulut) bir xil tarzda va ishonchli ishga tushirish imkonini beradi.
🔍 Asosiy tushunchalar:
| Inglizcha | O‘zbekcha | Izoh |
|---|---|---|
| Container | Konteyner | Dastur va uning barcha kerakli komponentlari jamlangan izolyatsiyalangan muhit. |
| Docker | Docker | Eng mashhur containerization platformasi. |
| Image | Imidj (tasvir) | Konteynerning asosiy nusxasi yoki andozasi. |
| Container Runtime | Konteyner bajaruvchi tizim | Konteynerlarni ishga tushiruvchi dastur (masalan, Docker Engine). |
| Kubernetes | Kubernetes | Ko‘plab konteynerlarni avtomatik boshqaruvchi tizim (orchestration). |
🎯 Konteynerlashning afzalliklari:
-
Portativlik – Konteynerlar har qanday operatsion tizimda bir xil ishlaydi.
-
Tezlik – Konteynerlar virtual mashinalarga qaraganda ancha tez ishga tushadi.
-
Izolyatsiya – Har bir konteyner o‘z muhitida ishlaydi, bu boshqa dasturlarga ta’sir qilmaydi.
-
Masshtablash oson – Dasturlarni katta tizimlarda tezda ko‘paytirish mumkin.
-
Tezroq rivojlantirish – DevOps jamoalari uchun moslashuvchan muhit yaratadi.
💡 Real hayotdagi misol:
Tasnif: Sizda veb-ilova bor va u Python, PostgreSQL va Redis’dan foydalanadi.
-
Har bir komponent (Python server, PostgreSQL ma’lumotlar bazasi, Redis kesh) alohida konteynerda ishlaydi.
-
Siz ularni Docker Compose yordamida birgalikda boshqarasiz.
-
Agar siz bu ilovani boshqa kompyuterga o‘tkazsangiz, konteynerlar hammasi bir xil ishlaydi — konfiguratsiyani qaytadan sozlashga hojat yo‘q.
⚙️ Qisqacha kod namunasida Docker:
# Dockerfile misoli
FROM python:3.10
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]