3.1 Volume montajının əsasları
Volume-ların (volumes) konteynerlərə montaj edilməsi — bu, Docker-in əsas funksiyalarından biridir və bu, məlumatları konteynerlərin xaricində saxlamağa, onları uzunmüddətli saxlamağa və əlçatan olmağa imkan verir. Volume-lar bir çox məqsəd üçün istifadə oluna bilər, buraya konfiqurasiya fayllarının, verilənlər bazalarının, log-ların və digər vacib məlumatların saxlanılması daxildir. Bu mühazirədə biz volume-ların konteynerlərə necə montaj edildiyini nəzərdən keçirəcəyik və praktiki nümunələr təqdim edəcəyik.
Volume montajının əsasları
Volume-lar — məlumatların saxlanması üçün Docker tərəfindən idarə olunan resurslardır və konteynerlərin həyat tsiklindən asılı olmadan mövcuddur. Onlar host-da xüsusi bir qovluqda saxlanılır və istənilən konteynerə qoşula bilər.
Volume-ları montaj etmək üçün komanda
Volume-lar konteynerlərə -v
və ya --mount
parametrləri ilə konteyner işə salınarkən montaj edilir.
3.2 -v
Parametri
-v
parametrinin istifadəsi nümunələri
1. Kontainerə volumin montajı
Volum yaratmaq və onu kontainerə montaj etmək:
Volum yaratmaq:
docker volume create my_volume
Volum montajı ilə kontainerin işə salınması:
docker run -d --name my_container -v my_volume:/app nginx
Bu nümunədə my_volume
volumui my_container konteynerinin /app direktoryasına
montaj edilir.
2. Bir neçə volum montajı
Bir konteynerə bir neçə volum montaj edə bilərsiniz:
docker run -d --name my_container -v volume1:/app/data -v volume2:/app/logs nginx
Bu nümunədə volume1
volumui /app/data
direktoryasına, volume2
volumui isə /app/logs
direktoryasına montaj edilir.
3.3 --mount
parametri
--mount
parametri volumeləri montaj etməyin daha ətraflı yolunu, müxtəlif parametrləri təyin etmə imkanını təqdim edir.
1. --mount
istifadə edərək volume montajı
docker run -d --name my_container --mount source=my_volume,target=/app nginx
Bu nümunə -v
ilə əvvəlki nümunəyə bənzəyir, lakin daha detallı sintaksis istifadə olunur.
2. Əlavə parametrlərlə montaj
docker run -d --name my_container --mount source=my_volume,target=/app,readonly nginx
Bu nümunədə volume sadəcə oxuma rejimində (readonly) montaj olunur.
3.4 Praktik nümunələr
Nümunə 1: Məlumat bazası üçün tomlardan istifadə
Məlumat bazası üçün məlumatların saxlanması məqsədilə tomun yaradılması və istifadəsi.
Tomun yaradılması:
docker volume create db_data
Məlumat bazası konteynerinin tom ilə işə salınması:
docker run -d --name postgres -e POSTGRES_PASSWORD=mysecretpassword -v
db_data:/var/lib/postgresql/data postgres
Bu nümunədə PostgreSQL məlumat bazasının məlumatları db_data
tomunda saxlanılır.
Nümunə 2: Konfiqurasiya faylları üçün tomlardan istifadə
Konfiqurasiya fayllarını saxlamaq üçün tomun yaradılması və onun konteynerə montaj edilməsi.
Tomun yaradılması:
docker volume create config_data
Konfiqurasiya fayllarının toma kopyalanması:
docker run --rm -v config_data:/app busybox sh -c "echo 'configuration data' > /app/config.txt"
Konfiqurasiya faylları üçün tomdan istifadə edən konteynerin işə salınması:
docker run -d --name my_app -v config_data:/app/config nginx
Bu nümunədə konfiqurasiya faylları config_data
tomunda saxlanılır və konteynerin /app/config
kataloquna montaj edilir.
Nümunə 3: Konteyner logları
Konteyner loglarının saxlanılması məqsədilə tomun yaradılması və onun konteynerə montaj edilməsi.
Tomun yaradılması:
docker volume create logs_data
Loglar üçün tom ilə konteynerin işə salınması:
docker run -d --name my_app -v logs_data:/var/log/nginx nginx
Bu nümunədə Nginx logları logs_data
tomunda saxlanılır.
3.5 Həcmlərin məzmununu yoxlamaq
Siz həcmin məzmununu müvəqqəti konteynerə montaj edərək yoxlaya bilərsiniz.
Nümunə
Həcmin montajı ilə müvəqqəti konteynerin işə salınması:
docker run --rm -v my_volume:/app busybox ls /app
Bu nümunə my_volume
həcminin məzmununu göstərəcək.
Həcmlərin silinməsi
Artıq istifadə edilməyən həcmi silmək.
Nümunə
Həcmin silinməsi:
docker volume rm my_volume
Əgər həcm konteyner tərəfindən istifadə edilirsə, Docker səhv verəcək. Əmin olun ki, həcmi istifadə edən konteynerlər dayandırılıb və silinib.
GO TO FULL VERSION