अपने प्रश्न का उत्तर देने के लिए - v3 के साथ असंभव - नीचे दिया गया अनुभाग देखें। v3 उत्तराधिकारी के रूप में उपयोग नहीं किया जाएगा (डॉकर द्वारा आधिकारिक बयान) इसका उपयोग "झुंड के मामलों" में किया जाएगा।
फिर भी, आपको क्या करना चाहिए नामित वॉल्यूम का उपयोग करना है।
आप इस
docker volume create --name volume1 -o type=none -o device=/home/$USER/projects/01 -o o=bind
तरह मेजबान-माउंट संस्करणों के साथ यह गठजोड़ कर सकते हैं आप लंबे समय से वाक्य रचना 3.2 में पेश उपयोग करते हुए इस आसान बनाने में कर सकते हैं: https://docs.docker.com/compose/compose-file/#long-syntax-2 ताकि आप नामित मात्रा + में मेजबान पर बाँध परिभाषित कर सकते हैं डोकर-लिखें फ़ाइल उदाहरण:
services:
full-tests:
volumes:
- type: volume
source: ../
target: /opt/project
- type: volume
source: ../../../ext-libs
target: /opt/ext-libs
या संक्षेप में के रूप में आप था
services:
full-tests:
volumes:
- ../:/opt/project
- ../../../ext-libs:/opt/ext-libs
हालांकि आप क्या नहीं कर सकते हैं, इस स्तर को एक नाम देने और सेवाओं में वॉल्यूम अनुभाग में पुन: उपयोग करने के लिए शीर्ष-स्तर "वॉल्यूम" परिभाषा के तहत लंबे वाक्यविन्यास डालने - यह संभव नहीं है। ऐसा करने के लिए, आप एक
volumes:
project:
external: true
third-party:
external: true
का उपयोग और फिर वाक्य रचना CLI पर एक बाँध के विकल्प के साथ उन संस्करणों बनाने के लिए, के रूप में
ऊपर की रूपरेखा "डोकर मात्रा बनाने" का उपयोग, लेकिन आप कभी नहीं मिल जाएगा होगा volumes_from यहाँ आप के लिए कर रहा था
v3 में volumes_from का कोई बराबर है, के बाद से v3 वी 2, इसके लिए एक विकल्प के एक उत्तराधिकारी नहीं है - कृपया मेरी टिप्पणी और यहाँ सूत्रों https://github.com/rancher/rancher/issues/3316#issuecomment-310889283
01 देखना
इसे समेटने के लिए - वॉल्यूम्स_फॉम और वॉल्यूम्स के मामले में ओवरलैप है वॉल्यूम_फ्रॉम का गलत तरीका गलत तरीके से गलत तरीके से/गलत इस्तेमाल किया गया था।
क) आप चाहते हैं डेटा भर में ढेर उन्नयन (नीचे + ऊपर), तो आपको नामित लेने की मात्रा कायम किया जाना है - और अब, 2 + सेवाओं इस साझा करने के लिए की जरूरत है, सिर्फ इस नामित मात्रा volumes:
का उपयोग कर माउंट।
ख) आप हालांकि, ऐसा करते हैं तो नहीं डेटा (ढेर उन्नयन से अधिक बनाए रखना चाहते जैसे उसके स्रोत कोड और छवि वास्तव में एक सामान्य आवेदन में एक उन्नयन इस) एक के रूप में शामिल है क्योंकि + httpd/प्रॉक्सी परिदृश्य, आप इस तरह के लिए एक एनन वॉल्यूम बना देगा /var/www
डॉकरफ़ाइल में Volume /var/www
का उपयोग करके और फिर httpd
सेवा में इसे माउंट करने के लिए वॉल्यूम्स_from का उपयोग करें।
ख के साथ मुख्य बिंदु यह है कि ढेर उन्नयन पर, शीघ्र मात्रा हटा दिया जाएगा (`नीचे डोकर-रचना शीघ्र कंटेनर निकालता है, लेकिन लोगों का नाम नहीं) और इस तरह से काम करता है उन्नयन के रूप में उम्मीद, आपके पास एक नये कोडबेस
के बाद से कोड नाम वॉल्यूम पर है और उस होगा ओवरले "फ्रेश" छवि पर codebase/नई, नामित संस्करणों के साथ भी ऐसा ही करने के लिए आपको पहले उन्नयन पर भारी आश्चर्य दे देंगे कोशिश कर रहा है कंटेनर, इस प्रकार आप अपग्रेड के बाद पुराने कोडबेस पर चलेंगे।
यहाँ कुछ संकेत: https://github.com/moby/moby/issues/19990 – Borek
एक उचित v2 तरह से अपना सामान, नहीं एक v1 रास्ता –
@EugenMayer अद्यतन लिखें। – Borek