Sobes.tech
Junior

Konvertlar nima uchun ishlatiladi?

sobes.tech AI

AIdan javob

Konteynerlər tətbiqi bütün asılılıqları ilə birlikdə (kod, kitabxanalar, konfiqurasiya faylları) standartlaşdırılmış və izolyasiya olunmuş modulda paketləmək üçün istifadə olunur və bu modul hər hansı bir mühitdə işlədilə bilər. İstifadə məqsədlərinin əsasları:

  • İzolyasiya: Hər bir tətbiq izolyasiya olunmuş mühitdə işləyir, digər tətbiqlərə və əsas sistemə təsir etmədən.
  • Daşıma qabiliyyəti: Bir mühitdə qurulmuş konteyner, uyğun konteyner motoru (məsələn, Docker) quraşdırılmış hər hansı digər mühitdə eyni şəkildə işləyəcək və işləyəcək.
  • Təkrarlanma: Tətbiqin icra mühiti deterministik olur, bu da "mənim maşınımda işləyir" problemini aradan qaldırır.
  • Asılılıqların idarə olunması: Lazımi bütün kitabxanalar və asılılıqlar tətbiq ilə birlikdə paketlənir.
  • Resursların səmərəli istifadəsi: Konteynerlər, əməliyyat sisteminin nüvəsini paylaşaraq virtual maşınlardan daha yüngül resurs istifadə edir.
  • Yerləşdirmənin sürətləndirilməsi: Konteynerin qurulması və işə salınması prosesi tam virtual maşın yaratmaq və konfiqurasiya etməkdən çox daha sürətlidir.
  • Mikroservis memarlığını dəstəkləyir: Konteynerlər, fərdi mikroservislərin yerləşdirilməsi və idarə olunması üçün idealdır.
  • Değişməz infrastruktur: Mövcud serverlər yenilənmək əvəzinə, yeni tətbiq versiyası ilə yeni konteynerlər yerləşdirilir.

Python və Flask istifadə edərək sadə bir veb tətbiqi üçün Dockerfile nümunəsi:

# Ubuntu əsaslı imajdan istifadə edirik
FROM ubuntu:latest

# Python və pip quraşdırırıq
RUN apt-get update && apt-get install -y python3 python3-pip

# requirements.txt-dən asılılıqları quraşdırırıq
COPY requirements.txt /app/
WORKDIR /app
RUN pip3 install --no-cache-dir -r requirements.txt

# Tətbiq kodunu kopyalayırıq
COPY app.py /app/

# Tətbiqin dinlədiyi portu açırıq
EXPOSE 5000

# Tətbiqi işə salmaq üçün əmr
CMD ["python3", "app.py"]