CodeGym /Kurslar /Docker SELF /Docker-də məlumatların saxlanmasının əsasları

Docker-də məlumatların saxlanmasının əsasları

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

1.1 Volumes

Docker-də məlumatların saxlanması konteynerlərlə işləməyin vacib hissəsidir. Konteynerlər özləri müvəqqətidirlər, bu o deməkdir ki, onların içindəki məlumatlar konteyner dayandırıldıqdan və ya silindikdən sonra itiriləcək. Məlumatları müxtəlif işə salmalarda saxlamaq və onların uzunmüddətli saxlanmasını təmin etmək üçün Docker iki əsas texnologiya təqdim edir: volumes və bind mounts.

Volumes

Volumes — Docker tərəfindən idarə olunan məlumat saxlama resurslarıdır. Onlar konteynerlərin həyat dövründən asılı olmayaraq mövcuddur, bu da onları uzunmüddətli məlumat saxlama üçün istifadə etməyə imkan verir. Volumes Docker tərəfindən asanlıqla yaradılıb idarə oluna bilir, konteynerlərin xaricində məlumat saxlamaq üçün əlverişli bir üsul təqdim edir.

Volumes istifadəsinin üstünlükləri

  1. Hostdan izolyasiya: Volumes hostda Docker tərəfindən idarə olunan xüsusi bir qovluqda saxlanılır ki, bu da onların izolyasiyasını təmin edir.
  2. İdarəetmənin asanlığı: Docker volumes yaratmaq, silmək və idarə etmək üçün rahat komandalar təqdim edir.
  3. Uyğunluq və daşınma: Volumes asanlıqla müxtəlif hostlar arasında köçürülə və müxtəlif konteynerlərlə istifadə oluna bilər.

Volumes yaratmaq və istifadə üçün nümunə

Volume yaratmaq:

Terminal

docker volume create my_volume

Volume-nı konteynerdə istifadə:

Bu nümunədə my_volume volume-u konteynerin /data direktoryasına my_container daxilində montaj olunur.

Terminal


docker run -d --name my_container -v my_volume:/data nginx 

1.2 Bağlı direktoryalar (Bind Mounts)

Bağlı direktoryalar hostun müəyyən direktoryalarını konteynerlərə montaj etməyə imkan verir. Bu, konteynerlərin hostda olan fayl və direktoryalardan istifadə etməsinə imkan yaradır ki, bu da inkişaf və test zamanı, yerli fayllardan istifadə etmək lazım olduğu hallarda əlverişli olur.

Bağlı direktoryaların istifadəsinin üstünlükləri:

  1. Host fayllarına birbaşa giriş: Konteynerlər birbaşa hostda olan fayl və direktoryalardan istifadə edə bilirlər.
  2. İnkişaf rahatlığı: İnkişafçılar hostda faylları asanlıqla dəyişdirə və bu dəyişiklikləri konteynerlərdə real vaxtda görə bilərlər.
  3. Çeviklik: Bağlı direktoryalar hostdakı istənilən direktorya ola bilər, bu da məlumatların idarə edilməsində daha böyük çeviklik təmin edir.

Bağlı direktoryaların istifadəsinə misal

Bağlı direktorya ilə konteynerin işə salınması:

Terminal


docker run -d --name my_container -v /path/on/host:/data nginx 

Bu misalda /path/on/host hostdakı direktorya konteynerin içində /data direktoryasına montaj edilir və konteynerin adı my_container olur.

Volume-larla bağlı direktoryaların müqayisəsi:

Xüsusiyyət Volume-lar Bağlı direktoryalar
Data saxlanması Docker tərəfindən idarə olunur İstifadəçi tərəfindən idarə olunur
İzolyasiya Hostun fayl sistemindən izolyasiya olunub Hostun fayl sistemindən istifadə edir
Performans Docker üçün optimallaşdırılıb Hostun fayl sistemindən asılıdır
Tətbiq olunma Uzunmüddətli data saxlanması İnkişaf və test

1.3 Praktiki nümunələr

İstifadə nümunələri

Nümunə 1: Verilənlər bazası üçün volume istifadəsi

Verilənlər bazasının məlumatlarını uzunmüddətli saxlamaq üçün volume-lərdən istifadə etmək olar.

Volume yaradılması:

Terminal


docker volume create db_data 

Verilənlər bazası konteynerinin volume ilə işə salınması:

Terminal

docker run -d --name postgres -e POSTGRES_PASSWORD=mysecretpassword -v 
db_data:/var/lib/postgresql/data postgres

Nümunə 2: Web inkişafı üçün bind mount istifadəsi

Web tətbiqi inkişafı zamanı lokal fayllardakı dəyişikliklərin dərhal konteynerdə əks olunması üçün bind mount-lardan istifadə etmək olar.

Bind mount ilə konteynerin işə salınması:

Terminal

docker run -d --name web_dev -v $(pwd)/my_website:/usr/share/nginx/html nginx

Bu nümunədə cari işçi qovluq my_website konteynerin qovluğuna /usr/share/nginx/html nginx konteynerində montaj edilir.

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