CodeBlanks Logo Icon CodeBlanks

Volume yönetimi

docker volume ls ve rm ile volume'leri yönetmeyi öğrenirsin.

Volume yönetimi

docker volume alt komutları:

docker volume ls                 # listele
docker volume inspect pgdata     # ayrıntı: Mountpoint, oluşturulma
docker volume rm pgdata          # sil (kullanan container olmamalı)
docker volume prune              # hiçbir container'ın kullanmadığı anonim volume'leri sil
docker volume prune -a           # kullanılmayan adlandırılmışları da

Volume silmek geri alınamaz; veritabanı volume'leri için önce yedek alınır.

Volume yedeklemek

Bir volume'ü yedeklemenin standart yolu, onu ve bir ana makine klasörünü geçici bir container'a bağlayıp tar arşivi almaktır:

docker run --rm -v pgdata:/veri:ro -v "$PWD":/yedek alpine \
  tar czf /yedek/pgdata.tar.gz -C /veri .

# geri yükleme
docker run --rm -v pgdata:/veri -v "$PWD":/yedek alpine \
  tar xzf /yedek/pgdata.tar.gz -C /veri

Çalışan bir veritabanının dosyalarını kopyalamak tutarsız olabilir; veritabanı kendi araçlarıyla (pg_dump) da yedeklenmelidir.

Uygulama Volume yedeği

İki komut yaz: volume'leri listele; ardından alpine ile, iş bitince silinen bir container'da pgdata'yı /veri'ye salt okunur ve mevcut klasörü ("$PWD") /yedek'e bağlayıp tar czf /yedek/pgdata.tar.gz -C /veri . çalıştır.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
docker volume ls
docker run --rm -v pgdata:/veri:ro -v "$PWD":/yedek alpine tar czf /yedek/pgdata.tar.gz -C /veri .

Beklenen çıktı

DRIVER    VOLUME NAME
local     pgdata
local     redisdata

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 docker rm -f db sonrası db'nin bağlı olduğu pgdata volume'ü ne olur?

  • Image'a eklenir
  • Bozulur
  • Kalır; ayrıca silinmesi gerekir Doğru cevap
  • Otomatik silinir

Açıklama: docker rm -v yalnızca anonim volume'leri birlikte siler.

2 Volume'ün ayrıntılarını göster.

Soru
docker volume ____ pgdata
Cevap
docker volume inspect pgdata

Açıklama: inspect, Mountpoint gibi bilgileri JSON olarak verir.

3 Eşleştir.

Kavram Anlamı
volume ls Listele
volume inspect Ayrıntı
volume rm Sil
tar czf Yedek arşivi

Başlangıç bölümündeki tüm dersler