Docker haqqında (1ci hissə)
Salam Dostlar bu məqalədə docker üçün ilkin terminlər və ilkin əmrlər haqqında məlumat verəcəyik. Öncəliklə docker nədir qısaca ona baxaq. Docker, dünyada ən çox istifadə olunan proqram konteyner-ləşdirmə platformasıdır
Birinci şəkildə göstərilən bizim standart virtuallaşdırma platformalarıdır. (Hyper-V, VmWare və s.)
İkinci şəkildə isə Docker engine göstərilmişdir.
Məqaləmizin anlaşılır olmaq adına biraz sadə terminlərlə izah etməyə çalışacağıq.
Docker və standart virtuallaşdırma arasında olan fərqə kiçik bir cədvəldə baxaq
FƏRQİ |
Virtual Machine |
Docker |
Əməliyyat sistemi |
Tam yüklü |
Kiçildilmiş şəkildə |
Servislərin izolyasiyası |
Yüksək |
Aşağı |
İşə düşməsi |
Dəqiqələr |
Saniyələr |
İmage-lərin paylaşılması |
Çətin və böyük həcm |
Asan və minimallaşdırılmış |
Məqaləmiz ən az docker nədir nəzəriyyəsini bilənlər üçün nəzərdə tutulmuşdur. Google üzərində araşdıraraq kifayət qədər docker nədir , nə cür bir virtuallaşdırma edir tapa bilərsiniz.
İndi isə gələk əsas hissəyə.
Docker konterynerləşdirməsi zamanı istifadə olunan əsas terminlər və əmrlərlə bu bölümdə tanış olacağıq.
Motivasiya
Terminlər haqqında daha rahat anlayış sahibi olmaq üçün bu terminləri bildiyimiz Vmware və yaxud digər virtuallaşdırma platformalarına alternativlərlə anlatmağa çalışacağıq.
Başlayaq J
Container – Containerlər Docker mühitində hər hansı bir servis verən bir virtual maşını təmsil edir. Yəni məsələn Hyper-V üzərində bir vm qaldırmamıza alternativ olaraq biz Docker üzərində bir container yaradırıq.
Docker İmager – Bu bizim Virtuallaşdırma mühitlərimizdə İSO fayllara qarşılıqdır. Docker üçün hər hansı bir docker image yükləmək Virtuallaşdırmada vm üzərinə bir əməliyyat sistemi yükləməyə bərabərdir. Lakin bunları eyniləşdirmək olmaz.
Dockerfile – Docker file-I bir xml kimi düşünə bilərsiniz. Hər hansı bir image-ın içindəki konfiqurasiyalar və sanki source code-u bu faylda saxlanılır.
Docker Engine (Daemon) – Bu bütün prosesləri edən bir vasitədir. Başlanğıc layer-də yer alan və bütün etdiyimiz əməliyyatları yerinə yetirən bir mühərrikdir. Məsələn hər hansi docker əmri verən zaman bu əmri həyata keçirən docker engine-dir. (Docker Daemon da adlandırılır)
Docker CLI (Command line interface) – Əmrləri icra edən bir platformadır. İstifadəçinin Docker Daemon ilə əlaqəsi üçün lazımi əmrləri özündə birləşdirir. Reyestrdən yeni bir image yükləmək, yeni bir konteyneri Image-dan çıxarmaq, işləyən Konteynerin dayandırılması, yenidən başlanması, konteynerlərə prosessor və RAM məhdudiyyətlərinin təyin edilməsi və Docker Daemon-a əmrlərin verilməsi üçün məsuliyyət daşıyır. Sanki powershell üzərində (və yaxud linux) script yazmaq kimi command line.
Docker Registry – Docker üçün olan bütün hazır İmage fayllar burada yerləşir. Başa düşmək adına deyəlim ki Windows üçün İSO faylı necə ki Microsoftun saytına daxil olub yükləyirik. Eyni proseduru docker üçün Registry-dən yükləyirik. Yəni Docker üçün İmage-lar registry-də depolanır.
Docker yükləmək
Docker həm Linux kernel OS-lər üçün həm də Windows sistemlərinə qurula bilər. Biz indi centos üzərində docker necə qurulur baxacağıq və bir neçə əmrlərə tanış olacağıq.
İstifadə edəcəyimiz Əməliyyat sistemi – centos 7
Öncəliklə Docker necə quracağıq ondan başlayaq.
1. Docker üçün bir repo yükləməyimiz lazımdır ki konfiqurasiya fayllarımız bu repositoryde depolansın
2. $ yum install -y yum-utils
3.
4. $ yum-config-manager \
5. –add-repo \
2. Docker yüklənməsi
$ yum install docker-ce docker-ce-cli containerd.io
3. Docker artıq sistemimizə yüklənmişdir. İndi isə onu başlatmaq lazımdır.
$ systemctl start docker
4. Dockerin doğru şəkildə yükləndiyinə əmin olmaq üçün hello world image-ni çalışdıraq
$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
Bu şəkildə bir görüntü ekranı çıxdısa deməkki docker doğru yüklənmişdir.
$ docker info
Yuxarıdakı Docker info əmrini verərək docker məlumatlarına ətraflı baxa bilərsiniz.
Məqalənin birinci hissəsi bu qədər. İkinci hissədə image yükləmək və containerdə çalışdırmaq kimi bəzi praktik hissələrə baxacağıq.