Docker सरल फ़ाइल साझाकरण होस्ट <> docker
मैं नया करने वाला हूं। मैं एक docker चलाने और कुछ फ़ाइलों को जोड़ने के लिए प्राप्त करने की कोशिश कर रहा हूँ। उपयोगकर्ता को इस फ़ाइलों को बदलने में सक्षम होना चाहिए और ऐसा करने वाले को जादू करने देना चाहिए। प्रदर्शन महत्वपूर्ण नहीं है, लेकिन सादगी है। बिना आगे के तर्कों के कर्ता को चलाना संभव होना चाहिए, केवल "-it"। मैंने वॉल्यूम का उपयोग करने की कोशिश की, लेकिन ...
डोकर-compose.yml:
version: '3.4'
volumes:
data:
name: templatevolume
services:
template:
image: template
volumes:
- data:/usr/template/:rw
build:
context: .
dockerfile: ./Dockerfile
... वॉल्यूम बनाया जाएगा, लेकिन डॉकर को नहीं सौंपा जाएगा। क्या कोई बेहतर तरीका है? क्या मुझे रन कमांड के भीतर वॉल्यूम को वॉल्यूम असाइन करने की आवश्यकता है? कृपया सलाह दें।
Dockerfile:
FROM fedora:latest
LABEL Name=template Version=0.0.1
...
यह एक लंबी डॉकरीफाइल है, लेकिन मैं यहां वॉल्यूम के साथ कुछ नहीं करता हूं और कुछ भी विशेष नहीं है, केवल पैकेज स्थापित करते हैं।
जवाब
आप बाइंड माउंट का उपयोग कर सकते हैं। वे आपके डॉकटर कंटेनर में आपकी भौतिक मशीन की एक निर्देशिका को माउंट करेंगे।
इस तरह की मात्रा के लिए आपको माउंट के स्रोत को निर्दिष्ट करने की आवश्यकता होती है , जो डोकर डेमॉन होस्ट (आपके कंप्यूटर) पर फ़ाइल या निर्देशिका का पथ है और लक्ष्य , वह पथ है जहाँ कंटेनर में फ़ाइल या निर्देशिका को माउंट किया जाता है कंटेनर)।
- "source:target"
आपको कोई भी डॉक वॉल्यूम बनाने की आवश्यकता नहीं है।
चलो एक बनाने छिपा निर्देशिका .data अपने डोकर-लिखें YML फ़ाइल निर्देशिका में
$ mkdir .data
अब आप डॉकटर-कंपोज़ करें:
version: '3.4'
services:
template:
image: template
volumes:
- data:/usr/template/:rw
- "./.data:/usr/template/"
build:
context: .
dockerfile: ./Dockerfile
बस। एक उपयोगकर्ता के पास .data में फाइल हो सकती है और डॉकटर भी वहां की सभी सामग्री के साथ काम कर सकता है।