2016-07-11 41 views
6

Docker dosyasında VOLUME kullanırsam, anonim bir birim oluşturur. Docker dosyasından adlandırılmış bir birim oluşturmanın bir yolu var mı? BenDocker dosyasında bir Adlandırılmış Birim nasıl bildirilir?

docker run -v my-named-volume:/mnt/something repo/my-img 

Bir Dockerfile yoluyla almak başardınız All Dockerfile eşdeğer arıyorum

Ben sadece desteklenmemektedir düşünürdüm

docker run -v /mnt/something repo/my-img 

eşdeğerdir; Ancak the doc bu

SES talimat belirtilen ad ile bir bağlama noktası oluşturur ve yerel ana ve diğer kaplardan dışarıdan monte hacimleri tutarak olarak işaretler söylüyor.

O Sesi isim bir yol olduğunu ima etmek gibi görünüyor, ama bu mümkün değildir nasıl

+2

Kısa cevap, bu mümkün değil * tasarım gereğince * Bunu anlamak için [this] (https://github.com/moby/moby/issues/30647#issuecomment-276882545) yardım bulabilirsin – ira

cevap

2

söylemez. Sanırım dokümanlar yanıltıcı olabilir.

3

Bu biraz belirsizdir. Bu adı kullanarak bir bağlama noktası oluşturur, ancak gerçek dosya yolu bu adı kullanmaz. Bir docker inspect {container-name} yaparsanız, "Destination": "/mnt/something", gibi bir gerçek adı ve "Source": "/var/lib/docker/volumes/cb80c7802244dd3669eed8afb7d94b61366844d80677eb180fa12002db04ea7c/_data", gibi gerçek konumunu göreceksiniz.

Bunun nedeni Dockerfile dosyasının belirli bir ana bilgisayara bağlı olmaması ve ana makine birim yolunun varolduğundan emin olamaz. Bunu run (veya eşdeğeri) ifadesinde yapmanız gerekir. Bir betikte veya benzerinde bu bilgiyi kullanmanız gerekiyorsa, kapsayıcı oluşturulduktan sonra, biriminin nerede bulunduğunu öğrenmek için api veya docker inspect'u kullanabilirsiniz.

Dockerfile birimindeki birimin bildirilmesi, verilerin önceden ayarlanmaya devam etmesine rağmen, verilerin devam edeceğini ve ana makinede kullanılabileceğini garanti eder.

İlgili konular