CodeGym /Kurslar /Docker SELF /Docker-in əsas terminləri

Docker-in əsas terminləri

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

6.1 Şəkillər (Images)

Docker ilə effektiv işləmək üçün bir neçə əsas termini başa düşmək lazımdır: şəkillər, konteynerlərreyestrlər. Bu mühazirədə biz bu terminlərin hər birini, onların rollarını və bir-biri ilə necə qarşılıqlı əlaqə qurduğunu ətraflı nəzərdən keçirəcəyik.

Docker şəkli — konteynerlərin yaradıldığı şablondur. Şəkil tətbiqin işləməsi üçün lazım olan bütün komponentləri ehtiva edir: əməliyyat sistemi, tətbiq, kitabxanalar və asılılıqlar, eləcə də konfiqurasiya faylları. Şəkillər Dockerfile vasitəsilə yaradılır — şəkli yaratma addımlarını təsvir edən mətn faylıdır.

Şəkillərin əsas xüsusiyyətləri:

  1. Təbəqəli struktur: Şəkillər bir neçə təbəqədən ibarətdir, harada ki, hər bir təbəqə əvvəlki ilə müqayisədə dəyişiklikləri təqdim edir. Bu, yaddaşa qənaət etməyə və yükləmə müddətini azaltmağa imkan verir.
  2. Təkrar istifadə olunma: Eyni şəkildən bir çox konteyner yaratmaq üçün istifadə edilə bilər.
  3. Daşınma qabiliyyəti: Şəkillər müxtəlif sistemlər arasında köçürülə bilər, bu da onları inkişaf, test və tətbiqləri fərqli mühitlərdə yerləşdirmək üçün ideal edir.

Şəkillərin istifadəsi üçün nümunələr:

Öz şəkilinizi yaratmaq: Siz Dockerfile yazaraq öz tətbiqinizi və onun asılılıqlarını necə qurmağı təsvir edərək öz şəkilinizi yarada bilərsiniz.

dockerfile

FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
COPY . /app
CMD ["python3", "/app/app.py"]

Hazır şəkildən istifadə: Siz Docker Hub-da mövcud olan şəkillərdən istifadə edərək, tez bir zamanda veb-serverlər və ya verilənlər bazaları kimi standart tətbiqləri yerləşdirə bilərsiniz.

Terminal


docker pull nginx 

Bu kod Docker Hub-dan sizin kompüterinizə nginx şəkilini yükləyir.

6.2 Konteynerlər (Containers)

Docker konteyneri — bu image-in işə salınmış nüsxəsidir. Konteynerlər tətbiqləri və onların asılılıqlarını ayrı bir icra mühitində izolə edir, bu da onların host sistemi və digər konteynerlərdən asılı olmadan işə salınmasına imkan verir. Konteynerlər yüngüldür, çünki onlar virtual maşınlar kimi ayrıca bir əməliyyat sistemi nüvəsi əvəzinə host əməliyyat sisteminin nüvəsini istifadə edir.

Konteynerlərin əsas xüsusiyyətləri:

  • İzolasiya: Konteynerlər tətbiqləri izolə edir, onların müstəqil işləməsini təmin edir və asılılıqların konfliktinin qarşısını alır.
  • Yüngüllük: Konteynerlər resurs baxımından daha az sərfiyyata malikdir, çünki ayrıca bir əməliyyat sistemi tələb etmir.
  • Tez başlama: Konteynerlər virtual maşınlara nisbətən daha sürətli işə salınır və dayandırılır, bu da onları dinamik mühitlər və skalalama üçün ideal edir.

Konteynerlərin istifadə nümunələri:

Konteynerin işə salınması: Siz docker run komandasından istifadə edərək image-dən konteyner işə sala bilərsiniz.

Terminal


docker run -d -p 80:80 --name mynginx nginx

Konteynerlərin idarəedilməsi: Docker start, stop, restart, rm və exec kimi konteynerlərin idarə edilməsi üçün komandalar təqdim edir.

Terminal


docker stop mynginx
docker rm mynginx

Bütün komandalar və onların parametrləri haqqında növbəti mühazirələrdə öyrənəcəksiniz.

6.3 Registrlər (Registries)

Docker registr — bu, Docker image-lərinə görə depodur. Registrlər developer-lərə və təşkilatlara image-ləri saxlamaq, idarə etmək və yaymaq imkanı yaradır. İki növ registr mövcuddur: publik və özəl.

Registrlərin əsas xüsusiyyətləri:

  • Publik registrlər: Publik registrlər, məsələn Docker Hub, icma və rəsmi developer-lər tərəfindən yaradılmış çox sayda image verir.
  • Özəl registrlər: Özəl registrlər təşkilat daxilində image-ləri saxlamaq və idarə etmək üçün istifadə olunur. Onlar giriş nəzarəti və təhlükəsizliyi təmin edir.
  • CI/CD ilə inteqrasiya: Registrlər, continuous integration və deployment sistemləri ilə asanlıqla birləşdirilir ki, bu da image-lərin yaradılması və yerləşdirilməsi prosesini avtomatlaşdırmağa imkan verir.

Registrlərin istifadə nümunələri:

1. Docker Hub: Çox sayda hazır image-yə çıxış edən publik registr.

Terminal


docker pull nginx
docker push myusername/myimage:tag  

2. Özəl registr: Docker Registry vasitəsilə şəxsi registrinizi quraşdırıb istifadə edə bilərsiniz.

Terminal


docker run   -d -p 5000:5000 --name registry registry:2
docker tag myimage localhost:5000/myimage
docker push localhost:5000/myimage
        

Image-lərin, konteynerlərin və registrlərin qarşılıqlı əlaqəsi

Bu üç komponent bir-biri ilə sıx bağlıdır və Docker ilə işin əsasını təşkil edir:

  • Image yaradılması: Developer Dockerfile istifadə edərək image yaradır və onu lokalda saxlayır.
  • Image-in registrə yüklənməsi: Image bir registrə (məsələn, Docker Hub və ya özəl registr) yüklənir və orada saxlanılır, digər istifadəçilər və ya sistemlər üçün əlçatandır.
  • Konteynerin işə salınması: İstifadəçi image-i registrdən yükləyir və konteyneri işə salır, bu isə tətbiqi izolyasiya edir və onun icrasını təmin edir.

6.4 Orkestrasiya (Orchestration)

Orkestrasiya — paylanmış mühitdə bir çox konteynerin idarə olunması prosesidir. Orkestrasiya alətləri konteynerlərin yerləşdirilməsini, miqyaslandırılmasını və idarə edilməsini avtomatlaşdırmağa kömək edir.

  • Kubernetes: Bu, müxtəlif nodelarda konteyner klasterini idarə etməyə imkan verən ən məşhur konteyner orkestrasiya platformasıdır.
  • Docker Swarm: Docker-ə daxil olan orkestrasiya platformasıdır ki, Docker klasterlərini yaratmaq və idarə etmək asandır.
  • Orkestrasiya funksiyaları: Avtomatik miqyaslandırma, özünü bərpa, şəbəkələrin idarə edilməsi və yük balanslaşdırılması.

6.5 Şəbəkələr (Networks)

Docker-də şəbəkələr konteynerlərin bir-biri ilə və xarici dünya ilə qarşılıqlı əlaqə qurmasına imkan verir. Docker müxtəlif istifadə ssenariləri üçün bir neçə növ şəbəkələr təqdim edir.

  • Bridge: Docker tərəfindən yaradılan standart şəbəkə. Bridge şəbəkəsinə qoşulmuş konteynerlər bir-biri ilə ünsiyyət qura bilərlər.
  • Host: Konteyner host maşınının şəbəkə interfeyslərindən istifadə edir. Bu, konteynerə hostun şəbəkə interfeyslərinə birbaşa çıxış imkanı verir.
  • Overlay: Bir neçə Docker demonunu əhatə edən şəbəkələr yaratmaq üçün istifadə olunur. Orkestrasiya üçün faydalıdır.
  • None: Konteyner üçün bütün şəbəkə interfeyslərini deaktiv edir, bu isə izolyasiya olunmuş tapşırıqlar üçün faydalıdır.

6.6 Həcmlər (Volumes)

Həcmlər (Volumes) — konteynerlərin məlumatlarını davamlı saxlamaq üçün mexanizmdir. Onlar məlumatları konteynerdən kənarda saxlamağa imkan verir, belə ki, konteyner yenidən başladıqda və ya silindikdə məlumat itirmir.

  • Həcm yaratmaq: Həcmlər docker volume create komandası ilə yaradılır.
  • Həcmi montaj etmək: Həcmlər konteynerlərə -v flaqı ilə montaj edilir konteyneri işə salarkən.
  • Üstünlüklər: Həcmlər məlumatları konteynerlər arasında asanlıqla saxlamağa və paylaşmağa imkan verir, həmçinin bağlı qovluqlara (bind mounts) nisbətən daha yaxşı performans təmin edir.

Vacibdir! Həcm – bu, virtual sərt diskdir, hansı ki virtual maşına və ya konteynerə qoşula bilər. Adətən qonaq əməliyyat sistemində sadə fayl kimi saxlanılır.

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