विंडोज के लिए boot2docker में होस्ट से एक निर्देशिका माउंट करना


11

मैं डॉक 1.6 1.6 और boot2dockerविंडोज 8.1 बॉक्स पर चला रहा हूं । जब मैं Boot2Docker स्टार्ट शॉर्टकट का उपयोग करता हूं, तो यह मुझे एक साइबरविन बैश प्रॉम्प्ट पर ले जाता है, जहां मैं डॉकटर कमांड को मूल रूप से चला सकता हूं।

मुझे अपने उपयोगकर्ताओं के फ़ोल्डर से निर्देशिका बढ़ाने में समस्या हो रही है। मैंने कोशिश की:

$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

मुझे त्रुटि मिली:

invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir"
for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir 
is not an absolute path 
See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'.

जब मैं इसे इन तरीकों से कहता हूं तो मुझे वही परिणाम मिलते हैं:

$ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v "/c/users/someone/AppData/Roaming/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v ~/AppData/Roaming/Bitcoin:/datadir poliver/bitcoin-abe

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

$ docker run -d --name abe -v ~/APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

और मैंने त्रुटि प्राप्त कर ली है:

FATA[0000] Error response from daemon: cannot bind mount volume: ~\AppData\Bitcoin volume paths must be absolute.

ऐसा लगता है कि साइबरविन बैश की जगह ले रहा /है \और फिर docker ने इस तर्क को पारित कर दिया -vऔर इसे स्वीकार नहीं कर सकते।


मेरे boot2docker इंस्टॉलेशन पर, कमांड "ls / c / Users" मेरे विंडोज 8.1 C: \ Users फोल्डर को सूचीबद्ध करता है। क्या आपको अन्य स्थानों को माउंट करने की आवश्यकता है?
विल्सन गिब्बिन्स

मैं निश्चित रूप /c/Usersसे बूट 2 डॉक लाइनर वीएम (मेजबान) से देख सकता हूं । लेकिन मुझे कंटेनर /c/Usersपर /datadirमाउंट बिंदु से एक विशिष्ट फ़ोल्डर को माउंट करने के लिए पॉलिवर / बिटकॉइन-एबे कंटेनर की आवश्यकता है।
पॉल ओलिवर

मैं भी एक मेजबान फ़ोल्डर माउंट करने में असमर्थ एक ही समस्या का अनुभव करने लगते हैं। $ docker run -d -v /c/Users/310145787/Desktop/mongo:/data/db mongo invalid value "c:\\Users\\310145787\\Desktop\\mongo;C:\\Program Files (x86)\\Git\\data\\db" for flag -v: \Users\310145787\Desktop\mongo;C:\Program Files (x86)\Git\data\db is not an absolute path
मार्को

क्या आपको अपनी समस्या का हल मिला?
मार्को

क्षमा करें मार्को, अभी तक कोई समाधान नहीं। :(
पॉल ओलिवर

जवाबों:


12

यदि आप $APPDATAअपने विंडोज होस्ट मशीन को /datadirडॉकटर कंटेनर पर माउंट करना चाहते हैं , तो नीचे दिए गए कमांड के बजाय:

docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

आप जारी कर सकते हैं:

docker run -d --name abe -v //c/Users/YOUR_USER_NAME/$APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

//c/Users/PATH_TO_DIR विंडोज निर्देशिका के लिए यहाँ कुंजी है

आपका $APPDATAनिर्देशिका चाहिए पर निवास /c/Users/Your_User_Nameनिर्देशिका और यह नहीं कर सकता अन्य स्थानों पर रहते हैं। ( D:/$APPDATAडी विभाजन पर जैसे ।)


6

देखें: https://github.com/docker/docker/issues/12590

यदि आप विंडोज़ पर गिट बश का उपयोग कर रहे हैं, तो msysgit c / c / users जैसे पथों को धर्मान्तरित करता है: \ Users (ऐसा कुछ नहीं जिसे आप चाहते हैं क्योंकि boot2docker VM के अंदर का पथ / c / उपयोगकर्ता है)

Cmd.exe / powerhell पर आपको यह समस्या नहीं होनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.