डॉकर / विंडोज कंटेनर: विंडोज 2016 पर डेटा वॉल्यूम के रूप में होस्ट फ़ोल्डर को कैसे माउंट किया जाए


17

विंडोज होस्ट से विंडोज गेस्ट सिस्टम तक वॉल्यूम कैसे माउंट करें?

मैं डॉकर का उपयोग करके विंडोज सर्वर 2016 टीपी 4 पर हूं।

Https://docs.docker.com/engine/userguide/containers/dockervolumes/ पर प्रलेखन के बाद

यदि आप मैक या विंडोज पर डॉकर मशीन का उपयोग कर रहे हैं, तो आपके डॉकर डेमॉन की आपके ओएस एक्स या विंडोज फाइल सिस्टम तक सीमित पहुंच है। Docker Machine आपके / Users (OS X) या C: \ Users (Windows) डायरेक्टरी को ऑटो-शेयर करने की कोशिश करती है। इसलिए, आप OS X का उपयोग करके फ़ाइलों या निर्देशिकाओं को माउंट कर सकते हैं।

Windows पर, निर्देशिका का उपयोग करके माउंट करें:

docker रन -v / c / उपयोगकर्ता / [पथ]: / [कंटेनर पथ] ... `

मैंने कोशिश की:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/meinedaten iis cmd

जो मुझे एक त्रुटि देता है:

docker : docker: Error response from daemon: Invalid bind mount spec "/c/Users/mlin/meinedaten:/meinedaten": volumeinvalid: Invalid volume specification: 
'/c/Users/mlin/meinedaten:/meinedaten'.

मैंने भी कोशिश की:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/c/meinedaten iis cmd

ध्यान दें कि अतिथि / कंटेनर पर पथ C: \ meinedaten पहले से मौजूद है, जो कि docker प्रलेखन के अनुसार आवश्यक है।

दस्तावेज़ के अनुसार कमांड मुझे सही लगती है।

यहाँ छवि विवरण दर्ज करें

(मैक ओएस एक्स होस्ट से उबंटू डॉकटर कंटेनर तक बढ़ते वॉल्यूम ठीक काम करता है, मुझे बस विंडोज के साथ समस्या हो रही है।)

अपडेट करें

मैंने केवल डॉकटर का उपयोग न करके देशी कंटेनर (पॉवर्सशेल के माध्यम से) का उपयोग करने की कोशिश की। मैं https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_powershell#create-a-saded-folder पर प्रलेखन का पालन करता हूं ।

Add-ContainerSharedFolder -ContainerName mysql2 -SourcePath C:\Users\mlin\meinedaten -DestinationPath C:\meinedaten

लेकिन मैं समस्याओं के रूप में अच्छी तरह से कर रहे हैं।

यहाँ छवि विवरण दर्ज करें

अंततः संबंधित विषय:

जवाबों:


23

विंडोज पर, विंडोज शैली के शब्दार्थों का उपयोग करके पथ निर्दिष्ट किए जाने चाहिए। आपको पथ के सामने एक प्रमुख स्लैश का उपयोग नहीं करना चाहिए।

docker run -v c:\Users\[path]:c:\[containerPath]

यह काम नहीं करता है यदि आप एक प्रतिलिपि के साथ फ़ोल्डर्स बनाते हैं या कमांड जोड़ते हैं।
स्टीव कोलमैन

होस्ट डीआईआर भी रिश्तेदार हो सकता है "./" और अतिथि आंतरिक ओएस हो सकता है लिनक्स प्रकार का ओएस इस प्रकार नियमित लिनक्स पथ "/ a / b / c /" जैसे, docker में इस तरह से लिखें 'संस्करणों: - .///var / www / html`
FantomX1

7

विंडोज 10 वर्षगांठ अद्यतन और विंडोज सर्वर 2016 आरटीएम।

एक मात्रा जोड़ें:

docker run -d -v my-named-volume:C:\MyNamedVolume testimage:latest

एक मेजबान निर्देशिका माउंट करें:

docker run -d -v C:\Temp\123:C:\My\Shared\Dir testimage:latest
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.