2017-03-17 16 views
5

पर माउंट कर सकता हूं, मुझे एप्लिकेशन लॉग को आरोहित वॉल्यूम पर साझा करने की आवश्यकता है। मैं लॉग रखने के लिए सभी डॉकर कंटेनरों में समान मात्रा को माउंट करना चाहता हूं। क्या यह संभव है? क्या यह प्रत्येक कंटेनर पर चल रहे एप्लिकेशन को प्रभावित करेगा?क्या मैं एक ही वॉल्यूम को एकाधिक डॉकर कंटेनर

docker run -d --name C1 -v /home/ubuntu/logs:/usr/local/apache/htdocs/ httpd 
docker run -d --name C2 -v /home/ubuntu/logs:/etc/app/logs my-docker-image:latest 
docker run -d --name C3 -v /home/ubuntu/logs:/usr/logs TestImage:latest 

उत्तर

7

हाँ आप कई डोकर कंटेनरों को एक मात्रा के रूप में एक ही स्थान जोड़ सकते हैं।

इसके अतिरिक्त आप --volumes-from का उपयोग एक कंटेनर अपनी प्रवेश निर्देशिका माउंट करने के लिए वास्तव में किसी भी आवेदन नहीं चल रहा और फिर अपने दूसरे में इस कंटेनर से संस्करणों का उपयोग कर सकते हर जगह पथ दोहराने के बिना कंटेनर।

वर्थ पढ़ने Docker volumes

1

मैं कई कंटेनरों के लिए, लेकिन पढ़ने के प्रयोजन के लिए एक ही निर्देशिका बढ़ते रहा हूँ, नहीं लिख (अपने लॉग कंटेनरों के भीतर लिखा रहे हैं। मुझे लगता है कि यह काम करना चाहिए अगर वे अलग अलग फ़ाइलों के लिए लिख रहे ..

+0

मैं लॉग को माउंट करना चाहता था। मेरे पास कई डॉकर कंटेनर चल रहे हैं, लेकिन मैं लॉग फ़ाइल को सभी सेवाओं के लिए log.txt के रूप में रख रहा हूं। तो मैं किस सेवा फ़ाइल के लिए कौन सी लॉग फ़ाइल को अलग कर सकता हूं, क्योंकि सभी लॉग फाइल समान नाम का उपयोग कर रहे हैं? – Ritcha12

+2

मुझे लगता है कि आप विशिष्ट फ़ाइल को माउंट कर सकते हैं, न कि सभी निर्देशिका, और मेजबान में इसे अलग नाम दें: '/path/in/container/log.txt:/path/in/host/container1_log.txt' – ItayB

+1

@ItayB सावधान रहें क्योंकि अगर आपकी फ़ाइल घुमाती है या किसी भी कारण से इनोड बदल जाता है तो डॉकर में फ़ाइल अब उस फ़ाइल को इंगित नहीं करेगी जो आप उम्मीद करेंगे ... – user3012759

2

हाँ, यह संभव है। ऐसा करने से पहले 'आप ऐसा क्यों करना चाहते हैं' पर थोड़ा सा शोध करें?

संबंधित मुद्दे