Docker सरल फ़ाइल साझाकरण होस्ट <> docker

Oct 25 2020

मैं नया करने वाला हूं। मैं एक 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

...

यह एक लंबी डॉकरीफाइल है, लेकिन मैं यहां वॉल्यूम के साथ कुछ नहीं करता हूं और कुछ भी विशेष नहीं है, केवल पैकेज स्थापित करते हैं।

जवाब

IvanAvdonin Oct 26 2020 at 00:40

आप बाइंड माउंट का उपयोग कर सकते हैं। वे आपके डॉकटर कंटेनर में आपकी भौतिक मशीन की एक निर्देशिका को माउंट करेंगे।

इस तरह की मात्रा के लिए आपको माउंट के स्रोत को निर्दिष्ट करने की आवश्यकता होती है , जो डोकर डेमॉन होस्ट (आपके कंप्यूटर) पर फ़ाइल या निर्देशिका का पथ है और लक्ष्य , वह पथ है जहाँ कंटेनर में फ़ाइल या निर्देशिका को माउंट किया जाता है कंटेनर)।

- "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 में फाइल हो सकती है और डॉकटर भी वहां की सभी सामग्री के साथ काम कर सकता है।