मैं अपने सभी पर्ल अनुप्रयोगों को चलाने में सक्षम होने के लिए एक डॉकर छवि बनाने पर काम कर रहा हूं। अनुप्रयोगों को सैकड़ों सीपीएएन मॉड्यूल स्थापित करने की आवश्यकता है। डॉकर छवि के पूर्ण निर्माण को पूरा होने में लगभग एक घंटे लगते हैं।डॉकर छवियों को बनाए रखते समय मैं पर्ल मॉड्यूल अपडेट को कैसे संभालना चाहिए?
प्रारंभिक छवि करने के बाद, मुझे यकीन नहीं है कि चालू अद्यतनों को कैसे प्रबंधित किया जाए।
हम Git में एक भी Dockerfile रख सकता है, और फिर आवश्यक के रूप में इस संशोधित करने, और नए धक्का dockerhub अप करने के लिए बनाता है। हालांकि यदि निर्माण करने वाले व्यक्ति में सभी मध्यवर्ती छवियां नहीं हैं, तो एक एकल सीपीएएन मॉड्यूल जोड़ना बेहद कठिन प्रक्रिया हो सकता है, और यह पता चलने में एक घंटे लग सकता है कि नया मॉड्यूल सही तरीके से इंस्टॉल हो रहा है या नहीं। इसके अलावा यह हर सीपीएएन मॉड्यूल को फिर से डाउनलोड करेगा, जो थोड़ा जोखिम भरा लगता है, क्योंकि नए मॉड्यूल में ब्रेकिंग बदलाव हो सकता है।
वैकल्पिक रूप से, बिल्ड करने वाला व्यक्ति नवीनतम डॉकर-हब छवि खींच सकता है, और उसके बाद सीपीएन मॉड्यूल को इंटरैक्टिव रूप से स्थापित कर सकता है, बिल्ड को प्रतिबद्ध कर सकता है और नई छवि को डॉकरहब पर धक्का दे सकता है। हालांकि तब हमारे पास केवल डॉकरबब छवियां हैं, लेकिन डॉकरफाइल मास्टर नहीं हैं।
या दूसरा विकल्प प्रत्येक नए निर्माण के लिए डॉकरफ़ाइल बनाना होगा, जो पिछले डॉकरबब छवि का संदर्भ देता है। हालांकि यह अत्यधिक जटिल लगता है।
विकल्प 1) गलत लगता है। मुझे पूरा यकीन है कि हम एक अतिरिक्त मॉड्यूल स्थापित करने के लिए बस ओएस से पूरी छवि को पुनर्निर्माण नहीं करना चाहते हैं। हालांकि डॉकरफाइल के बिना छवियों पर निर्भर होने पर जोखिम भरा लगता है।
विकल्प 3 या किसी भिन्न रूप सबसे "डोकर उपयुक्त" समाधान प्रतीत होता है के बारे में भी बहुत कुछ पता है। यदि आप एक संगठित टैगिंग रणनीति का पालन करते हैं, तो उपयोगकर्ता नवीनतम संस्करण में "अपग्रेड" करने वाले पिछले छवि परतों का उपयोग करने में सक्षम होंगे और केवल सबसे हाल ही में निर्माण करने की आवश्यकता होगी। यदि आपको कभी भी पूर्ण पुन: निर्माण की आवश्यकता हो तो पूर्ण निर्माण करने से बचने के लिए आप एक अलग नाम के साथ "आधार" संस्करण बनाना चाह सकते हैं। – ldg