मैं इन दो विकल्पों के बारे में थोड़ा भ्रमित हूं। वे संबंधित प्रतीत होते हैं। हालांकि, वे वास्तव में संगत नहीं हैं।
उदाहरण के लिए, ऐसा लगता है कि Dockerfiles का उपयोग करने का अर्थ है कि आपको वास्तव में छवियों के लिए प्रतिबद्ध नहीं होना चाहिए, क्योंकि आपको वास्तव में Git में Dockerfile को ट्रैक करना चाहिए और उस पर परिवर्तन करना चाहिए। फिर आधिकारिक क्या है के बारे में कोई अस्पष्टता नहीं है।
हालाँकि, इमेज कमिट्स बहुत अच्छी लगती है। यह बहुत अच्छा है कि आप सीधे एक कंटेनर को संशोधित कर सकते हैं और दूसरी छवि बनाने के लिए परिवर्तनों को टैग कर सकते हैं। मैं समझता हूं कि आप भी कुछ ऐसा प्राप्त कर सकते हैं जैसे कि एक फाइल सिस्टम एक छवि प्रतिबद्ध इतिहास से अलग है। बहुत बढ़िया। लेकिन तब आपको Dockerfiles का उपयोग नहीं करना चाहिए। अन्यथा, यदि आपने एक छवि बनाई है, तो आपको अपने डॉकरफाइल में वापस जाना होगा और कुछ बदलाव करना होगा जो आपके द्वारा किए गए कार्य का प्रतिनिधित्व करता है।
इसलिए मैं फटा हुआ हूं। मुझे छवि के विचार से प्यार है: यह कि आपको अपनी छवि को एक डॉकफाइल में प्रदर्शित नहीं करना है - आप इसे सीधे ट्रैक कर सकते हैं। लेकिन मैं कुछ प्रकार की मैनिफ़ेस्ट फ़ाइल का विचार छोड़ने के बारे में असहज हूं जो आपको एक छवि में क्या है का त्वरित अवलोकन देता है। यह एक ही सॉफ्टवेयर पैकेज में दो सुविधाओं को देखने के लिए भी असंतोषजनक है जो असंगत लगते हैं।
क्या किसी के पास इस बारे में कोई विचार है? क्या इमेज कमिट का उपयोग करना बुरा व्यवहार माना जाता है? या मैं सिर्फ अपने कठपुतली दिनों से फ़ाइलों को प्रकट करने के लिए अपने लगाव को छोड़ देना चाहिए? मुझे क्या करना चाहिए?
अपडेट :
उन सभी के लिए जो यह सोचते हैं कि यह एक राय आधारित प्रश्न है, मुझे इतना यकीन नहीं है। इसके कुछ व्यक्तिपरक गुण हैं, लेकिन मुझे लगता है कि यह ज्यादातर एक वस्तुनिष्ठ प्रश्न है। इसके अलावा, मेरा मानना है कि इस विषय पर एक अच्छी चर्चा जानकारीपूर्ण होगी।
अंत में, मुझे उम्मीद है कि इस पोस्ट को पढ़ने वाला कोई भी एक बेहतर समझ के साथ आ जाएगा कि डॉकफाइल्स और छवि एक दूसरे से कैसे संबंधित हैं।
अपडेट - 2017/7/18 :
मैंने अभी हाल ही में इमेज कमिट के लिए एक वैध उपयोग की खोज की है। हम बस अपनी कंपनी में एक सीआई पाइपलाइन स्थापित करते हैं और, पाइपलाइन के एक चरण के दौरान, हमारे ऐप परीक्षण कंटेनर के अंदर चलाए जाते हैं। टेस्ट रनर प्रक्रिया के बाद (कंटेनर की फाइल सिस्टम में) जेनरेट होने और कंटेनर का चलना बंद हो जाने के बाद हमें बाहर निकलने वाले कंटेनर से कवरेज परिणाम प्राप्त करने की आवश्यकता होती है। हम एक नई छवि बनाने के लिए रुके हुए कंटेनर को कमिट करके ऐसा करने के लिए इमेज कमिट्स का उपयोग करते हैं और फिर कमांड को चलाते हैं जो कवरेज फाइल को स्टडआउट करने के लिए प्रदर्शित और डंप करता है। इसलिए ऐसा होना आसान है। इस बहुत विशिष्ट मामले के अलावा, हम अपने वातावरण को परिभाषित करने के लिए डॉकरफाइल्स का उपयोग करते हैं।