CodeBlanks Logo Icon CodeBlanks

Özet - Volume

Volume oluşturma, bağlama ve silmeyi birleştirerek kalıcı veri kurarsın.

Özet: volume

Bu grupta:

  • Yazılabilir katman geçicidir; kalıcı veri volume ya da bind mount'ta tutulur.
  • Named volume'ü Docker yönetir; ilk kullanımda oluşur ve container silinince kalır.
  • Bind mount ana makine yolunu bağlar; geliştirmede kod ve ayar dosyaları için kullanılır.
  • -v kısa, --mount açık yazımdır; :ro/readonly salt okunurdur.
  • docker volume ls/inspect/rm/prune yönetir; yedek geçici bir container'la tar alınarak yapılır.
docker run -d -v pgdata:/var/lib/postgresql/data postgres:16
docker run -d -v "$PWD/site":/usr/share/nginx/html:ro nginx

Uygulama Veri ve kod

İki komut yaz: mysql:8'den db adlı container'ı arka planda MYSQL_ROOT_PASSWORD=gizli ile ve mysqldata volume'ünü /var/lib/mysql'e bağlayarak başlat; php:8.3-apache'den web adlı container'ı arka planda 8080'i 80'e eşleyerek ve mevcut klasörü ("$PWD") /var/www/html'e bağlayarak başlat.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
docker run -d --name db -e MYSQL_ROOT_PASSWORD=gizli -v mysqldata:/var/lib/mysql mysql:8
docker run -d --name web -p 8080:80 -v "$PWD":/var/www/html php:8.3-apache

Beklenen çıktı

708192a3b4c5
8192a3b4c5d6

Soru ve cevaplar

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

1 -v ./veri:/data ve -v veri:/data arasındaki fark nedir?

  • İkincisi geçicidir
  • İlki bind mount, ikincisi named volume Doğru cevap
  • İkisi aynıdır
  • İlki salt okunur

Açıklama: Kaynak bir yolsa bind mount, düz bir adsa volume'dür.

2 Kullanılmayan volume'leri temizle.

Soru
docker volume ____ -f
Cevap
docker volume prune -f

Açıklama: prune kullanılmayanları siler; -f onay sormaz.

3 Eşleştir.

Kavram Anlamı
named volume Üretim verisi
bind mount Geliştirme kodu
:ro Yazma yok
volume prune Temizlik

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