मैकबुक प्रो लैपटॉप पर और मेरे कंटेनर जाने के लिए डॉकर-मशीन (0.5.0) और डॉकर-कंपोज़ (1.5.0) चला रहा है।मैक पर डॉकर मशीन: डॉकर होस्ट/डॉकर-मशीन पर घुड़सवार वॉल्यूम नहीं देख सकते हैं? शारीरिक रूप से संग्रहीत मात्रा कहाँ हैं?
इसका मतलब है कि मैं अपने वर्चुअलबॉक्स boot2docker संचालित HOST मशीनों को बनाने के लिए डॉकर-मशीन का उपयोग कर रहा हूं, जो मेरे डॉकर डिमन को चलाएगा और मेरे सभी कंटेनर होस्ट करेगा।
मुझे लगता है कि मुझे होस्ट्स और वॉल्यूम की अवधारणा के साथ कुछ महत्वपूर्ण याद आ रही है, क्योंकि वे डॉकर और दस्तावेज़ीकरण को संदर्भित करते हैं।
यह मेरा डोकर-compose.yml फ़ाइल (: 5.6-अपाचे छवि वेब बस php बनाता है):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
मात्रा के लिए
डोकर लिखें फ़ाइल documention यहाँ है: http://docs.docker.com/compose/compose-file/
यह के लिए कहा गया है वॉल्यूम्स - माउंट पथ वॉल्यूम्स के रूप में, वैकल्पिक रूप से मेजबान मशीन (HOST: कंटेनर), या एक एक्सेस मोड (HOST: कंटेनर: ro) पर पथ निर्दिष्ट करना।
इस मामले में HOST डॉकर-मशीन द्वारा निर्मित मेरे वीएम को संदर्भित करता है, सही? या मेरी स्थानीय मैकबुक फ़ाइल सिस्टम? मेरे वीएम पर एक कंटेनर पर पथ बढ़ाना?
तहत वेब मैं घोषणा:
volumes:
- ./src:/var/www/html
और यह मेरा स्थानीय मैकबुक फाइल सिस्टम अपने वेब कंटेनर के लिए अपने मैकबुक प्रो पर ./src फ़ोल्डर मैपिंग कर रहा है। अगर मेरी समझ सही है, तो क्या यह पर मैपिंग नहीं करनी चाहिए ./src मेरे पर वीएम/var/www/html वेब कंटेनर के भीतर मैपिंग नहीं करना चाहिए ?! सिद्धांत रूप में मुझे लगता है कि मुझे अपने स्थानीय मैक फ़ाइल सिस्टम फ़ोल्डर ./src को पहले मेरे वीएम में कॉपी करने की आवश्यकता होनी चाहिए, और फिर मैं यह वॉल्यूम घोषणा करता हूं। ऐसा लगता है कि डॉकर-कंपोज़ मैजिकल रूप से यह सब एक बार में कर रहा है? उलझन में
आखिरकार, हम देख सकते हैं कि मैं अपने mysql डेटा को जारी रखने के लिए केवल डेटा कंटेनर बना रहा हूं। मैं घोषित किया है:
volumes:
- /var/lib/mysql
यह मेरा होस्ट boot2docker वी एम पर एक /var/lib/mysql फ़ोल्डर बना नहीं करना चाहिए और मैं तो वी एम पर इस फ़ोल्डर में नेविगेट कर सकता है, हां/नहीं? जब मैं अपनी मशीन में एसएसएच करने के लिए डॉकर-मशीन का उपयोग करता हूं, और फिर /var/lib पर नेविगेट करता है, तो नहीं mysql फ़ोल्डर बिल्कुल है ?! यह क्यों नहीं बनाया जा रहा है? क्या मेरी कॉन्फ़िगरेशन में कुछ गड़बड़ है? :/
अग्रिम धन्यवाद! मैं यहां क्या गलत कर रहा हूं, इस बारे में कोई स्पष्टीकरण बहुत सराहना की जाएगी!
मदद की http://stackoverflow.com/questions/23439126/how-to-mount-host-directory-in-docker-container/33404132#33404132 आपके प्रश्न का उत्तर है? स्पष्टीकरण के लिए – Eli