9.1 Docker Hub ilə tanışlıq bir daha
Docker Hub — Docker-ın əsas ictimai registry-sidir, burada istifadəçilər hazır konteyner image-lərini saxlayır, paylaşır və tapırlar. Bu, həm rəsmi təşkilatlar, həm də icma tərəfindən yaradılmış milyonlarla konteynerə sürətli çıxış üçün platform təqdim edir. Bu dərsimizdə biz Docker Hub-da image-ləri necə axtarmaq və yükləmək olar, bunu ətraflı araşdıracağıq.
Docker Hub xidmətinin əsas tapşırıqları
Docker Hub — istifadəçilərə Docker image-lərini oraya yükləmək və oradan yükləmək imkanı verən bulud xidmətidir. Bu, mərkəzi bir anbar kimi çıxış edir, burada developer-lər öz image-lərini paylaşır və başqaları tərəfindən yaradılmış image-lərdən istifadə edə bilirlər. Docker Hub-un əsas funksiyaları:
- Ictimai və şəxsi repository-lər: Image-ləri hər kəs üçün açıq saxlamaq və ya məhdud istifadəçi qrupu üçün qapalı saxlamaq imkanı.
- Avtomatik build-lər (automated builds): Kod dəyişiklikləri zamanı image-lərin avtomatik olaraq yaradılması üçün GitHub kimi versiya nəzarət sistemləri ilə inteqrasiya.
- Webhooks (veb-hooqlar): Image-lər yeniləndikdə avtomatik hərəkətləri konfiqurasiya etmək imkanı.
9.2 Hazır image-lərin axtarışı
1. Docker Hub-un web interface-dən istifadə
- Docker Hub saytına keçid: Brauzerinizdə Docker Hub-u açın.
- Image-lərin axtarışı: Üst axtarış xanasına layihənizlə bağlı image adını və ya açar sözləri daxil edin. Məsələn, Nginx image-ni tapmaq üçün "nginx" yazın və Enter düyməsini basın.
- Nəticələrə baxış: Axtarış nəticələrində uyğun image-lər siyahılanacaq. "Official" olaraq qeyd olunan image-lər, Docker və ya müvafiq təşkilatlar tərəfindən dəstəklənən rəsmi image-lərdir. Digər istifadəçilərdən olan image-lərdə istifadəçi və ya təşkilatın adı göstərilir.
- Image seçimi: Sizi maraqlandıran image-in üzərinə klikləyərək, onun təsvirini, mövcud tag-ları, istifadə ilə bağlı təlimatları və digər faydalı məlumatları görə bilərsiniz.
2. Komanda sətri ilə image-lərin axtarışı
Docker həmçinin image-ləri birbaşa terminaldan docker search komandası vasitəsilə axtarmağa imkan verir.
Komanda nümunəsi
docker search nginx
Bu komanda "nginx"
olan image-lərin adını və ya təsvirini təqdim edən siyahını göstərəcək. Çıxışda image adı, təsviri, ulduz sayı (dərəcə), rəsmi status və avtomatik yığımlar barədə məlumat göstəriləcək.
Çıxış nümunəsi:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13764 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for... 2135 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM... 819 [OK]
9.3 Image-lərin yüklənməsi
Lazımlı image-i tapdıqdan sonra onu docker pull
komandasından istifadə edərək lokal maşına yükləyə bilərsiniz.
1. Konkret image-i yükləmə
Konkret image-i yükləmək üçün aşağıdakı sintaksisdən istifadə edin:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Burada:
- NAME: image-in adı.
- TAG: (opsional) image-in tag-ı. Əgər tag göstərilməsə, default olaraq latest tag-ı götürülür.
- @DIGEST: (opsional) image-in SHA256 dəyəri.
Image yükləməyə nümunə
Bu nümunə Nginx
-in son image-in latest
tag-ı ilə yükləyəcək.
docker pull nginx:latest
2. Konkret tag ilə image yükləmə
Əgər sizə konkret bir image tag-ı lazımdırsa, onu iki nöqtədən sonra göstərin. Bu nümunədə Ubuntu-nun 20.04 versiyası yüklənir.
docker pull ubuntu:20.04
3. Yüklənmiş image-ləri yoxlamaq
Image yüklədikdən sonra, lokal maşında hansı image-lərin olduğunu docker images
komandası ilə yoxlaya bilərsiniz.
Komanda nümunəsi
Komandanın çıxışı bütün yüklənmiş image-lərin siyahısını göstərəcək: repository, tag, image ID, yaradılma tarixi və ölçüsü ilə birlikdə.
docker images
9.4 Hazır image-lərdən istifadə nümunələri
1. Nginx veb-serverinin başladılması
Nginx image-ni yüklədikdən sonra onun əsasında konteyneri tez bir şəkildə başladabilirsiniz.
Nümunə
Bu nümunə Nginx
konteynerini fon rejimində işə salır və konteynerin 80-ci portunu host maşının 8080-ci portuna yönləndirir. İndi Nginx
veb-serverinə giriş etmək üçün brauzeri açıb http://localhost:8080 ünvanını daxil edə bilərsiniz.
docker run -d -p 8080:80 nginx
2. MySQL verilənlər bazasının başladılması
Docker Hub, MySQL kimi verilənlər bazalarının hazır image-lərini təqdim edir ki, bu da inkişaf və test məqsədilə verilənlər bazalarını asanlıqla yerləşdirməyə imkan verir.
Nümunə
Bu nümunə MySQL konteynerini işə salır, root istifadəçisi üçün parol təyin edir və konteynerin 3306 portunu host maşının 3306 portuna yönləndirir.
docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
3. Redis image-nin caching üçün istifadəsi
Redis — məşhur caching sistemidir və Docker Hub, Redis üçün hazır image təqdim edir ki, bu da onu tez bir zamanda yerləşdirmək üçün istifadə edilə bilər.
Nümunə
Bu nümunə Redis konteynerini işə salır və konteynerin 6379 portunu host maşının 6379 portuna yönləndirir.
docker run -d -p 6379:6379 --name my_redis redis:latest
GO TO FULL VERSION