CodeGym /Kurslar /Docker SELF /Docker Compose-a giriş

Docker Compose-a giriş

Docker SELF
Səviyyə , Dərs
Mövcuddur

1.1 Docker Compose Əsas Konsepsiyaları

Docker Compose — çox konteynerli Docker tətbiqlərini müəyyənləşdirmək və işə salmaq üçün bir vasitədir. Bunun vasitəsilə tətbiq arxitekturasını sadə bir mətn faylı ilə asanlıqla təsvir edə və daha sonra bütün konteynerləri, servisləri və şəbəkələri idarə edə bilərsiniz.

Docker Compose Əsas Konsepsiyaları

  1. Servislərin müəyyənləşdirilməsi: Docker Compose tətbiqin bütün komponentlərini, məsələn, web serverləri, məlumat bazalarını, cache və digər servisləri bir konfiqurasiya faylı ilə müəyyən etməyə imkan verir.
  2. Çox konteynerli tətbiqlər: Compose, bir neçə konteynerdən ibarət olan tətbiqlərin qurulmasını sadələşdirir və onların koordinasiyasını və qarşılıqlı əlaqəsini təmin edir.
  3. Proseslərin avtomatlaşdırılması: Compose ilə konteynerlərin yerləşdirilməsi, idarə olunması və genişlənməsi proseslərini avtomatlaşdırmaq mümkündür.

Docker Compose Nəyə Lazımdır?

  1. Çətin tətbiqlərin idarə edilməsini sadələşdirir: Müasir tətbiqlərdə tez-tez müxtəlif konteynerlərdə işləyən bir neçə xidmət istifadə olunur. Docker Compose bu xidmətlərin idarə edilməsini asanlaşdırır.
  2. Mühitin konsistensiyası: Docker Compose inkişaf, test və istehsalat üçün eyni mühit konfiqurasiyasını təmin edir, bu da konfiqurasiya fərqləri ilə bağlı səhvlərin qarşısını alır.
  3. İnkişafı sürətləndirir: Compose ilə bütün lazım olan xidmətləri bir komanda ilə asanlıqla başlatmaq və dayandırmaq mümkündür, bu da inkişaf və test prosesini sürətləndirir.
  4. Miqyaslama: Docker Compose xidmətləri asanlıqla miqyaslandırmağa, yəni konteynerlərin sayını ehtiyaca uyğun artırmağa imkan verir.

Vacibdir! Əvvəllər Docker Compose ayrıca bir tətbiq idi və bütün komandalar "docker-compose ..." sözləri ilə başlayırdı. Amma Docker 20 və daha yüksək versiyalarında Docker Compose artıq daxil edilmişdir. Onun komandaları "docker compose ..." sözləri ilə başlayır.

Buna görə bəzən internetdə köhnə "docker compose" yazılışlarını, bəzən isə yeni "docker compose" yazılışlarını görəcəksiniz. Narahat olmayın, onların hər ikisi eyni cür işləyir.

1.2 Docker Compose-un iş prinsipləri

Docker Compose konfiqurasiya faylı docker-compose.yml-dan istifadə edir, burada tətbiq üçün lazım olan bütün servislər, həcm (volume) və şəbəkələr (network) müəyyən edilir. Bu faylda hansı image-lərin istifadə olunacağı, hansı komandaların icra ediləcəyi, hansı portların açılacağı və servislərin bir-biri ilə necə qarşılıqlı fəaliyyət göstərəcəyi təsvir olunur.

docker-compose.yml faylının nümunəsi

Gəlin Node.js-də web serverdən və MongoDB məlumat bazasından ibarət sadə bir tətbiq nümunəsinə baxaq.

Yaml

version: '3'
services:
  web: image: node:14 working_dir: /app volumes: - .:/app ports: - "3000:3000" depends_on: - db command: npm start
  db: image: mongo:latest ports: - "27017:27017" volumes: - mongo-data:/data/db
        
volumes:
  mongo-data:

Bu nümunədə iki servis müəyyən edilib: webdb.

  • web: Node.js image-dən istifadə edir, cari direktorianı konteynerə montaj edir, 3000 portunu açır və npm start komandasını işə salır. Həmçinin, db servisindən asılıdır.
  • db: MongoDB image-dən istifadə edir, 27017 portunu açır və məlumatların saxlanması üçün həcm yaradır.

1.3 Docker Compose Əsas Əmrlər

1. Tətbiqin işə salınması

Bu əmr docker-compose.yml faylını oxuyur, orada müəyyən edilmiş bütün servisləri yaradır və işə salır.

Terminal


docker compose up 

2. Tətbiqin dayandırılması

Bu əmr docker compose up istifadə edərək yaradılmış bütün konteynerləri, şəbəkələri və həcmləri dayandırır və silir.

Terminal


docker compose down 

3. Loglara baxış

Bu əmr bütün servislərin loglarını göstərir ki, bu da tətbiqi rahat şəkildə de-bagg etməyə imkan verir.

Terminal


docker compose logs

4. Servislərin yenidən işə salınması

Bu əmr bütün servisləri və ya müəyyən edilmiş servisləri yenidən işə salır, bu da koda və ya konfiqurasiyalara dəyişikliklər etdikdə faydalıdır.

Terminal


docker compose restart

1.4 Docker Compose İstifadəsi

Docker Compose istifadəsinin üstünlükləri

  1. Asan tətbiq etmə: Docker Compose ilə mürəkkəb bir tətbiqi bir əmrlə işə salmaq olar.
  2. Asılılıqların idarə edilməsi: Compose avtomatik olaraq servislər arasındakı asılılıqları idarə edir və onların düzgün ardıcıllıqla başlatılmasını təmin edir.
  3. Servislərin izolyasiyası: Hər bir servis öz konteynerində işləyir, bu da izolyasiyanı təmin edir və servislər arasında konflikt riskini azaldır.
  4. Elastiklik: Docker Compose fərqli konfiqurasiyaları dəstəkləyir, məsələn, inkişaf, test və istehsal üçün, bu da mühitlərin idarə olunmasını asanlaşdırır.

Docker Compose tətbiqi

Docker Compose geniş şəkildə istifadə olunur:

  1. İnkişaf üçün: Komanda üzvləri arasında paylaşması asan olan sabit inkişaf mühitinin yaradılmasını sadələşdirir.
  2. Test üçün: Proizvodstven mühitə identik olan test mühitini sürətlə yaratmağa imkan verir.
  3. İstehsal üçün: İstehsal mühitlərində çox konteynerli tətbiqlərin tətbiqini və idarəsini sadələşdirir.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION