2013-08-06 20 views
23

पर रेल चलाना और तैनाती करना मैं लिनक्स कंटेनरों के लिए कुल नोब हूं और Docker के बारे में कुछ समय बिताने में व्यतीत कर रहा हूं, और मेरे भ्रम को क्षमा करने के लिए इस सवाल को सोचा। वर्तमान में, मेरे पास कैपिस्ट्रानो के माध्यम से तैनात उत्पादन में एक रेल ऐप है। मेरे क्लाउड सर्वर डेबियन व्हीजी वितरण पर ओप्सकोड शेफ के साथ बनाए रखा जाता है। विकास के लिए, मेरे पास एप और सेवाओं के साथ एक वग्रेंट वीएम प्रीइंस्टॉल किया गया है।डॉकर कंटेनर

यदि मैं डॉकर को नियोजित करना चाहता था, तो मेरा ऐप कहां बैठेगा? कंटेनर या मेजबान? मैं कैसे (उत्पादन) तैनात और निर्देशिका (विकास) साझा करेंगे? क्या मैं डॉकर का उपयोग कर उसी सर्वर पर अपनी सभी अतिरिक्त सेवाओं यानी memcache, redis, postgresql, आदि चला सकता हूं? मैं शायद डॉकर की क्षमता की कल्पना कर सकता हूं लेकिन इसके व्यावहारिक उपयोग को देखने में परेशानी हो रही है।

ऐसा लगता है कि कंटेनर भविष्य का हिस्सा हैं। वर्चुअलाइजेशन से स्विच करने वाले किसी के लिए कोई मार्गदर्शन?

उत्तर

11

यदि मैं डॉकर को नियोजित करना चाहता था, तो मेरा ऐप कहां बैठेगा?

यह कंटेनर के अंदर बैठ सकता है या यह मेजबान पर बैठ सकता है (यदि आप कंटेनर में एप्लिकेशन को कॉपी करने के डोकर निर्माण का उपयोग कर सकते)

मैं कैसे तैनात हैं (उत्पादन) और शेयर निर्देशिका (विकास)?

अपने अनुप्रयोग नियोजित करना, एक छवि में अपने स्थानीय कंटेनर करने से यह प्रकाशित करने और अपने सर्वर पर प्रकाशित छवियों से बाहर एक कंटेनर चल मतलब होगा। मैंने होस्ट और कंटेनर के बीच निर्देशिका साझा करने का प्रयास नहीं किया है, लेकिन आप इसे आजमा सकते हैं: https://gist.github.com/jpetazzo/5668338। आप एक डॉकरफ़ाइल भी लिख सकते हैं जो एक निर्देशिका को कंटेनर में एक लक्ष्य में कॉपी कर सकता है। डॉकर का docs on building images आपकी मदद करेगा।

क्या मैं डॉकर का उपयोग कर उसी सर्वर पर अपनी सभी अतिरिक्त सेवाओं यानी memcache, redis, postgresql, आदि चला सकता हूं?

हां। आप एक ही सर्वर पर एकाधिक कंटेनर चलाएंगे।

+1

जयकार, @Emil। महान प्रतिक्रिया। –

+0

क्या वे अतिरिक्त सेवाएं अपने डॉकर कंटेनर के अंदर हो सकती हैं, या क्या वे सभी एक डॉकर कंटेनर के अंदर हो सकते हैं? – CMCDragonkai

+0

@CMCDragonkai सुझाए गए अभ्यास प्रत्येक सेवा को अपने कंटेनर में चलाने के लिए होगा, इसलिए वे मॉड्यूलर हैं: एकाधिक ऐप्स के लिए कंटेनर चलाने के लिए अपनी मेमकैच छवि का उपयोग करें, अपने वेब ऐप कंटेनर के 3 उदाहरणों को उनके बीच लोड-बैलेंस चलाने के लिए चलाएं (एक के साथ हैपरॉक्स कंटेनर!)। कंटेनरों को एक-दूसरे को ढूंढने में सहायता के लिए [लिंक डॉक्स] देखें (http://docs.docker.io/en/latest/use/working_with_links_names/)।आप उन्हें चलाने के लिए [Fig] (http://orchardup.github.io/fig/index.html) भी पसंद कर सकते हैं। कई उदाहरणों के लिए 'अंजीर पैमाने' कमांड पर ध्यान दें। – ches

2

मैं कोई विशेषज्ञ नहीं हूं और मैंने खुद को डॉकर का भी उपयोग नहीं किया है, लेकिन जैसा कि मैं इसे समझता हूं, आपका ऐप एक डॉकर कंटेनर के अंदर बैठता है। आप अपने खुद के रूबी संस्करण के साथ आदर्श रूप से एक संपूर्ण कंटेनर तैनात करेंगे और इसी तरह।

बड़ा लाभ यह है कि आप अपने स्टेजिंग सिस्टम में बिल्कुल उसी कंटेनर का परीक्षण कर सकते हैं जिसे आप उत्पादन में भेज रहे हैं। तो आप सभी स्थापित सी एक्सटेंशन के साथ पूरी प्रणाली का परीक्षण करने में सक्षम हैं, ठीक उसी ls कमांड और इसी तरह से।

+0

क्या इसका मतलब यह कैपिस्ट्रानो को बदलता है? – ardochhigh

+0

जरूरी नहीं है। आप एक डॉकर कंटेनर पर तैनात करने के लिए capistrano का उपयोग कर सकते हैं। capistrano कहीं आपका कोड डालता है। डॉकर कहीं आपकी मशीन रखता है। – udo

+0

आपके उत्तर के लिए धन्यवाद। मैंने कुछ और पढ़ा, और डॉकर वास्तव में उत्कृष्ट दिखता है। हालांकि यह काफी तैयार नहीं है ... इसलिए मैं इस पर नजर रखूंगा। – ardochhigh

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