CodeBlanks Logo Icon CodeBlanks

-v bayrağı

-v bayrağı ile volume bağlamayı öğrenirsin.

-v ve --mount

Volume bağlamanın iki yazımı vardır. -v kısadır: kaynak:hedef[:seçenek]. --mount anahtar=değer biçimindedir, daha uzundur ama okunaklıdır ve hataları daha açık bildirir:

docker run -d -v pgdata:/var/lib/postgresql/data postgres:16
docker run -d --mount type=volume,source=pgdata,target=/var/lib/postgresql/data postgres:16

İkisi de aynı sonucu verir.

Bağlamaları görmek

docker inspect, bir container'ın bağlamalarını türleri, kaynakları ve hedefleriyle gösterir:

$ docker inspect -f '{{range .Mounts}}{{.Type}} {{.Name}} -> {{.Destination}}{{"\n"}}{{end}}' db
volume pgdata -> /var/lib/postgresql/data

Uygulama --mount ile bağla

redis:7'den cache adlı container'ı arka planda başlat; --mount ile redisdata volume'ünü /data'ya bağla.

Başlangıç kodu

terminal
# buraya yaz

Beklenen çıktı

5e6f708192a3

Soru ve cevaplar

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

1 Bind mount'ta ana makinedeki klasör yoksa -v ile --mount arasındaki fark nedir?

  • -v klasörü sessizce oluşturur; --mount hata verir Doğru cevap
  • İkisi de hata verir
  • İkisi de oluşturur
  • --mount oluşturur; -v hata verir

Açıklama: Yanlış yazılmış bir yol -v ile fark edilmeden boş bir klasör olabilir.

2 --mount ile hedef dizini ver.

Soru
docker run -d --mount type=volume,source=pgdata,____=/var/lib/postgresql/data postgres:16
Cevap
docker run -d --mount type=volume,source=pgdata,target=/var/lib/postgresql/data postgres:16

Açıklama: target (ya da destination/dst) container yoludur.

3 Eşleştir.

Kavram Anlamı
-v Kısa yazım
--mount Anahtar=değer yazımı
type=volume Volume türü
readonly --mount'ta salt okunur

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