CodeGym /Kurslar /Docker SELF /Həcmlərin konteynerlərə montaj edilməsi

Həcmlərin konteynerlərə montaj edilməsi

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

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:

Terminal


docker volume create my_volume 

Volum montajı ilə kontainerin işə salınması:

Terminal


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:

Terminal


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ı

Terminal


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

Terminal


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ı:

Terminal


docker volume create db_data 

Məlumat bazası konteynerinin tom ilə işə salınması:

Terminal

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ı:

Terminal


docker volume create config_data

Konfiqurasiya fayllarının toma kopyalanması:

Terminal


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ı:

Terminal


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ı:

Terminal


docker volume create logs_data 

Loglar üçün tom ilə konteynerin işə salınması:

Terminal


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ı:

Terminal


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:

Terminal

        
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.

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