2015-09-07 13 views
5

मैं डॉकर के लिए बहुत नया हूं और वर्तमान में एक बहुत बड़ा वितरित वातावरण में डॉकर कंटेनर के अंदर चलने वाले सॉफ़्टवेयर को अद्यतन करने के लिए कोई सर्वोत्तम अभ्यास मार्गदर्शिका है, तो मेरे सिर को पाने की कोशिश कर रहा हूं। मुझे पहले से ही डॉकर, आदि में एक MySQL डेटाबेस को अद्यतन करने के लिए दो पद मिल गए हैं। यह किसी भी सॉफ़्टवेयर के लिए एक अच्छा संकेत देता है जो डेटा संग्रहीत करता है, लेकिन यदि आप अन्य भागों या अपने सॉफ़्टवेयर पैकेज या सेवाओं को अपडेट करना चाहते हैं जो वितरित और उपयोग किए जाते हैं डॉकर-रचना के माध्यम से कई अन्य डॉकर छवियां?डॉकर कंटेनर के अंदर सॉफ़्टवेयर को कैसे अपडेट करें?

क्या ऐसे किसी ऐसे माहौल में वास्तविक जीवन अनुभव वाला कोई व्यक्ति है जो मुझे या अन्य नए लोगों को डॉकर में सर्वोत्तम प्रथाओं को समझने में मदद कर सकता है यदि कोई हो।

आपकी मदद के लिए धन्यवाद!

उत्तर

1

आप कभी भी चल रहे कंटेनर में सॉफ़्टवेयर अपडेट नहीं करते हैं। आप hub से एक नया संस्करण खींचते हैं। अगर हम मानते हैं कि आप अपनी छवि के नवीनतम टैग (जो एक बुरा विचार है, हमेशा अपने संस्करणों को पिन करें) का उपयोग कर रहे हैं और यह आधिकारिक लाइब्रेरी छवियों में से एक है या सार्वजनिक रूप से उपलब्ध है जो स्वचालित बिल्ड का उपयोग करता है तो आपको नवीनतम संस्करण मिल जाएगा जब आप छवि खींचते हैं तो कंटेनर छवि।

यह मान लें कि आपने मेजबान वॉल्यूम के रूप में या डेटा कंटेनर पैटर्न का उपयोग करके डेटा को अपने कंटेनर से भी अलग कर दिया है।

कंटेनर को अपरिवर्तनीय माना जाना चाहिए, अगर आप इसे बदलते हैं तो यह छवि का वास्तविक संस्करण नहीं है।

+0

क्या होगा यदि आपके सॉफ़्टवेयर का निर्माण करने वाले डॉकर-कंपोज़र से बने कई छोटे कंटेनर हैं? क्या ये परिवर्तन w/या w/o डाउनटाइम हैं? सबसे अच्छे मामले में मुझे कोई डाउनटाइम नहीं होना चाहिए –

+0

यदि आपके 'डॉकर-कंपोज़.आईएमएल' में बिल्ड कॉल से संबंधित डॉकरफ़ाइल का हिस्सा स्रोत कोड डाउनलोड करना और संकलित करना या पैकेज मैनेजर के माध्यम से अपग्रेड करना शामिल है, तो आप एक नई छवि ट्रिगर करेंगे । पुन: कोई डाउनटाइम नहीं - क्या आप अपना 'डॉकर-कंपोज़.आईएमएल' पोस्ट कर सकते हैं, यह मेरे जवाब में सुधार करने में मेरी सहायता कर सकता है। – booyaa

+0

अभी तक यह अभ्यास में कुछ भी करने के बजाय सैद्धांतिक प्रश्न है। बस एक और बड़े वितरित पर्यावरण उदाहरण के बारे में सोचना और एकल डॉकर छवि उदाहरण नहीं। पैकेज प्रबंधक के माध्यम से उन्नयन का मतलब है कि आप मूल रूप से एसएसएच के माध्यम से छवि से कनेक्ट होते हैं और निष्पादित करते हैं, उदाहरण के लिए, 'npm'? क्या आप यह सब चल रहे कंटेनर में करेंगे, या आप एक अलग छवि/कंटेनर संस्करण का उपयोग करेंगे और नए संस्करण के साथ चल रहे "जादुई" स्विच करेंगे? –

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