Zamonaviy dasturiy ta'minot muhandisligida "Mening kompyuterimda ishlayotgandi, serverda ishlamay qoldi" degan ibora Docker va konteynerlashtirish tufayli tarixga aylandi.
Docker arxitekturasi va multi-stage build
Konteyner hajmini minimal (100MB dan kichik) ushlab turish uchun multi-stage Dockerfile yozish juda muhimdir:
# 1-bosqich: Qurish muhiti
FROM python:3.14-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
# 2-bosqich: Ishchi ixcham imedj
FROM python:3.14-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .
ENV PATH=/root/.local/bin:$PATH
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]
Kubernetes (K8s) boshqaruvi va avtomatik masshtablanish
Konteynerlar soni o'nlab va yuzlab birlikka etganda ularning sog'lig'ini tekshirish, buzilganlarini qayta ishga tushirish (Self-healing) hamda trafik bo'yicha yuklamani bo'lish (Load balancing) Kubernetes zimmasiga tushadi.