CodeGym /Kurslar /Docker SELF /Docker-in Əsas Komponentləri

Docker-in Əsas Komponentləri

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

3.1 Docker Engine

Docker Engine — bu konteynerlərin işini təmin edən əsas proqram təminatıdır. O, tətbiqlərin izolyasiya olunmuş konteynerlərdə hazırlanması, çatdırılması və yerinə yetirilməsi üçün platforma təqdim edir. Docker Engine tam Docker funksionallığını təmin edən bir neçə əsas komponentdən ibarətdir.

Docker Engine-in tərkibi:

Docker Engine üç əsas hissədən ibarətdir:

  1. Docker Daemon: Konteynerlərlə bağlı əsas əməliyyatları həyata keçirən server prosesi.
  2. Docker API: Proqramla çağırışlar vasitəsilə Docker Daemon ilə qarşılıqlı əlaqə qurmağa imkan verən interfeys.
  3. Docker CLI: Docker ilə işləmək üçün interfeys təmin edən əmrlər sətri.

Docker Engine-in rolu:

Docker Engine konteynerlərin həyat dövrünü idarə edir: yaradılmadan istifadəyə və silinməyə qədər. O, konteynerlərin izolyasiyasını təmin edir ki, bir hostda bir neçə konteyneri konfliktlər olmadan işə salmaq mümkün olsun. Docker Engine mürəkkəb tətbiqlərin və mikroservislərin konteynerlərdə işə salınmasını mümkün edir, onların hazırlanmasını, test edilməsini və yerləşdirilməsini sadələşdirir.

Docker Engine-in təkamülü:

Yarandığı andan etibarən Docker Engine bir çox versiyalardan və təkmilləşdirmələrdən keçib. Hər yenilik yeni funksiyalar və performans təkmilləşdirmələri təqdim edib. Məsələn, konteynerlərin orkestrasiyası kimi funksiyalar, məsələn Docker Swarm əlavə edilib, bu isə konteyner qruplarını idarə etməyə və tətbiqlərin yerləşdirilməsini avtomatlaşdırmağa imkan verir.

3.2 Docker Daemon

Docker Daemon — Docker əməliyyatlarını həyata keçirmək üçün əsas server prosesidir. O, fonda işləyir və konteynerlərin, imiclərin, şəbəkələrin və digər Docker resurslarının idarə olunmasına cavabdehdir.

Docker Daemon funksiyaları:

  1. Konteynerlərin yaradılması və idarə edilməsi: Docker Daemon konteynerlərin yaradılması, işə salınması, dayandırılması və silinməsi üçün sorğuları emal edir. O, konteynerlərin izolə olunmasını təmin edir və resursları onların arasında bölüşdürür.
  2. İmiclərlə iş: Docker Daemon konteynerlərin yaradılması üçün istifadə olunan imicləri yükləyir və saxlayır. O, həmçinin disk sahəsinin istifadəsini optimallaşdırmaq üçün imic keşini idarə edir.
  3. Şəbəkənin idarə olunması: Docker Daemon konteynerlərin bir-biri ilə və xarici sistemlərlə qarşılıqlı əlaqədə olmasına imkan verən Docker şəbəkələrini yaradır və idarə edir. O, çeviklik və təhlükəsizliyi təmin etmək üçün müxtəlif şəbəkə sürücülərini və parametrləri dəstəkləyir.
  4. Saxlama idarəçiliyi: Docker Daemon konteynerlərin məlumatları saxlamaq üçün istifadə etdiyi volumləri və digər saxlama növlərini idarə edir. O, konteynerlərin içindəki məlumatların etibarlı və effektiv idarə olunmasını təmin edir.

Docker Daemon Arxitekturası:

Docker Daemon müştəri-server arxitekturasından istifadə edir. Müştəri (CLI və ya API) Docker Daemon-a komanda göndərir, o isə həmin komandaları emal edir və yerinə yetirir. Daemon həm Linux, həm də Windows-da işləyir və tətbiqlərin konteynerləşdirilməsi üçün çarpaz platformalı imkanlar təqdim edir.

Təhlükəsizlikdə rolu:

Docker Daemon konteynerlərin təhlükəsizliyini təmin etməkdə əsas rol oynayır. O, giriş hüquqlarını, şəbəkə parametrlərini və konteynerlərin izolə olunmasını idarə edir ki, potensial təhdidləri və zəiflikləri məhdudlaşdırsın. Namespaces və cgroups istifadə edərək, Docker Daemon prosesləri və konteyner resurslarını host sistemindən və bir-birindən izolə edir.

3.3 Docker API

Docker API — tətbiq proqramlaşdırma interfeysi deməkdir. Bu, tərtibatçılara və sistem administratorlarına Docker Daemon ilə proqramlaşdırıla bilən şəkildə qarşılıqlı əlaqə yaratmağa imkan verir. API konteynerlərin idarə olunmasını avtomatlaşdırmaq və Docker-i digər sistemlər və alətlərlə inteqrasiya etmək üçün istifadə edilə bilən RESTful interfeyslər toplusu təqdim edir.

Docker API-nin funksiyaları:

  1. Konteynerlərin idarə edilməsi: Docker API konteynerləri yaratmağa, işə salmağa, dayandırmağa və silməyə, eləcə də onların vəziyyəti və logları barədə məlumat əldə etməyə imkan verir.
  2. İmajlardan istifadə: API imajları yükləməyi, yaratmağı, silməyi və idarə etməyi təmin edir.
  3. Şəbəkə əməliyyatları: API Docker şəbəkələrinin yaradılmasını və idarə edilməsini, konteynerlərin şəbəkələrə birləşdirilməsi və ya ayrılmasını dəstəkləyir.
  4. Saxlama idarəsi: API konteynerlərdə məlumatların saxlanılması üçün istifadə edilən volumlar və digər saxlama növlərini idarə etməyə imkan verir.

Docker API-nin istifadəsi:

Docker API müxtəlif proqramlaşdırma dilləri və avtomatlaşdırma alətləri ilə, məsələn, Python, Go, Java və digər dillərlə istifadə oluna bilər. Bu inkişaf, test və konteyner əsaslı tətbiqlərin yerləşdirilməsi proseslərinin avtomatlaşdırılması üçün skriptlər və tətbiqlər yaratmağa imkan verir.

Docker API-nin istifadəsinə dair nümunələr:

  • CI/CD: Kodu hər dəyişiklikdə avtomatik olaraq yeni konteyner yaradan və onu test edən davamlı inteqrasiya və yerləşdirmə prosesinin avtomatlaşdırılması.
  • Monitorinq və loqlaşdırma: Konteynerlərin vəziyyətini izləmək və onların performansını təhlil etmək üçün monitorinq və loqlaşdırma sistemləri ilə inteqrasiya.
  • Orkestrasiya: Docker Swarm və ya Kubernetes istifadə edərək konteyner klasterlərinin idarə olunması, fərdi nodelər və konteynerlərlə qarşılıqlı əlaqə üçün Docker API-dən istifadə.

3.4 Docker CLI

Docker CLI (Command Line Interface) — komanda xətti interfeysi, istifadəçilərə Docker Daemon ilə əlaqə yaratmağa və konteynerlərlə bağlı müxtəlif əməliyyatları yerinə yetirməyə imkan verir. Docker CLI rahat və intuitiv bir yol ilə Docker-ı terminaldan idarə etməyə şərait yaradır.

Docker CLI-nin əsas əmrləri:

Docker CLI konteynerlər, şəkillər, şəbəkələr və saxlama ilə bağlı əsas əməliyyatları yerinə yetirmək üçün geniş əmr dəsti təqdim edir. Bu əmrlərdən bəziləri:

  • docker run: Şəkildən yeni konteynerin başladılması.
  • docker build: Dockerfile-dan yeni şəkilin yaradılması.
  • docker pull: Şəkilin Docker Hub-dan və ya başqa bir reyestrdən yüklənməsi.
  • docker push: Lokalda olan bir şəkilin reyestrə yüklənməsi.
  • docker ps: İşləyən konteynerlərin siyahısının görüntülənməsi.
  • docker stop: İşləyən konteynerin dayandırılması.
  • docker rm: Dayanmış konteynerin silinməsi.
  • docker network: Docker şəbəkələrinin idarə edilməsi.

Docker CLI-nin xüsusiyyətləri:

  1. İstifadə rahatlığı: Docker CLI intuitiv və istifadəsi asan olacaq şəkildə hazırlanıb. Komandalar sadə və məntiqli quruluşa malikdir, bu da onları hətta yeni başlayan istifadəçilər üçün uyğun edir.
  2. Skriptlər və avtomatlaşdırma: Docker CLI konteynerlərlə bağlı tapşırıqları avtomatlaşdırmaq üçün skriptlər yaratmağa imkan verir. Bu, iri konteyner qruplarının idarəsini asanlaşdırır və Docker-i digər alətlər və sistemlərlə inteqrasiya etməyə şərait yaradır.
  3. Genişlənəbilirlik: Docker CLI pluginləri dəstəkləyir, bu da yeni komandalar əlavə etməyə və funksionallığı genişləndirməyə imkan verir. Bu, Docker CLI-ni müxtəlif tələb və istifadə ssenarilərinə uyğun olan çevik və uyğunlaşdırıla bilən edir.

Komponentlər arasında qarşılıqlı əlaqə:

Docker CLI, Docker Daemon ilə Docker API vasitəsilə əlaqə yaradır. İstifadəçi Docker CLI-da bir komanda daxil etdikdə, bu komanda icra olunmaq üçün Docker Daemon-a göndərilir. Daemon uyğun əməliyyatları həyata keçirir və CLI-ya nəticəni geri qaytarır. Bu qarşılıqlı əlaqə konteynerləri və Docker resurslarını idarə etmək üçün güclü və çevik bir yol təqdim edir.

Docker CLI istifadə nümunələri:

  • İnkişaf: Proqramçılar Docker CLI-dan istifadə edərək, izolyasiya olunmuş inkişaf və test mühitləri yaratmağı asanlıqla həyata keçirə bilər. Bu, müxtəlif kitabxana və çərçivə versiyaları arasında rahat keçid etməyə imkan verir.
  • Deploy: Administratorlar Docker CLI-dan istifadə edərək tətbiqləri serverlərdə və ya bulud mühitlərində avtomatik şəkildə yerləşdirə bilər. Bu, prosesin sabitliyini və proqnozlaşdırılmasını təmin edir.
  • Diaqnostika və monitorinq: Docker CLI ilə konteynerlərin loglarına asanlıqla daxil olmaq, onların vəziyyətini yoxlamaq və tətbiqləri diaqnostika etmək mümkündür.

Docker Engine, Docker Daemon, Docker API və Docker CLI — bunlar Docker ekosistemində konteynerlərin işləməsi və idarə olunmasını təmin edən əsas komponentlərdir. Docker Engine, sistemin nüvəsi olaraq Docker Daemon və Docker API-ni ehtiva edir. Docker Daemon konteynerlərin yaradılması və idarə olunması ilə bağlı bütün əməliyyatları həyata keçirir, Docker API Daemon ilə əlaqədə proqram interfeysi təqdim edir, Docker CLI isə müxtəlif komandaların yerinə yetirilməsi üçün rahat bir interfeys təmin edir.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION