Windows और macOS उपयोगकर्ताओं के लिए, Docker Desktop कई वर्षों से Docker कंटेनरों का उपयोग करने का मुख्य तरीका रहा है। हालांकि यह शौकीनों और छोटी विकास टीमों के लिए एक व्यवहार्य और उपयोगी विकल्प बना हुआ है, हाल ही में बड़े उपयोगकर्ता आधारों के लिए मूल्य निर्धारण में बदलाव ने लोगों को विकल्पों की तलाश में भेजा। मैं खुद डॉकर डेस्कटॉप को बदलना नहीं चाह रहा हूं, लेकिन मुझे विकल्पों को आजमाने और यह देखने में दिलचस्पी थी कि उनकी तुलना कैसे की जाती है।
आप YouTube पर प्रत्येक टूल कवरेज का उपयोग करके इस पोस्ट का एक वीडियो संस्करण अधिक व्यावहारिकता के साथ पा सकते हैं।
कंटेनर स्वयं प्रौद्योगिकी में एक नई अवधारणा नहीं हैं, लेकिन 2000 के दशक के मध्य में डॉकर ने इस अवधारणा को लोकप्रिय बनाया और अवधारणा को मुख्यधारा में लाने के लिए सही समय पर सही तरीके से उनका विपणन किया।
डॉकर कंपनी को डॉकर परियोजना से अलग करना उचित है क्योंकि उन्हें भ्रमित करना आसान है और वे अलग-अलग संस्थाएं हैं। इस भ्रम के कारण, डॉकर कंपनी ने अपनी कई कंटेनर-संबंधित तकनीकों का नाम बदल दिया और ओपन-सोर्स कर दिया, जो अब " ओपन कंटेनर इनिशिएटिव " (ओसीआई) के रूप में जाना जाता है।
मैं यहां बहुत कुछ अमूर्त और सारांशित कर रहा हूं, लेकिन जब इस पोस्ट के बाकी हिस्से में "ओसीआई अनुपालन" कंटेनरों और इसी तरह की शर्तों को संदर्भित किया जाता है, तो इसे "डॉकर कंटेनर" के रूप में आप जो सोच सकते हैं उसके अनुरूप सोचें। ये सभी घटनाएँ और परिवर्तन वास्तव में कुछ समय पहले तकनीकी समय में हुए थे, लेकिन फिर भी, यह भ्रम का एक निरंतर स्रोत है। Tldr… इस पोस्ट में दिखाए गए सभी विकल्प समान कंटेनर परिभाषाओं को चला सकते हैं और इसमें डॉकर डेस्कटॉप से आपके पहले से मौजूद कंटेनर शामिल हैं या डॉकरफाइल के साथ बनाए गए हैं। एक और नोट, अक्सर प्रोजेक्ट डॉकर के साथ चलने वाले कंटेनरों को "डॉकर्ड" और "मोबी" के रूप में संदर्भित करते हैं।
संभवतः सबसे लोकप्रिय विकल्प, पॉडमैन में रेड हैट के कई योगदानकर्ता हैं और जैसा कि ऐसा प्रतीत होता है कि रेड हैट पॉडमैन के व्यावसायिक संस्करणों की योजना बना रहा है, यह कहना सुरक्षित हो सकता है कि यह "रेड हैट प्रोजेक्ट" है।
यह विंडोज, मैकओएस और लिनक्स के लिए उपलब्ध है और यहां दिखाए गए कई अन्य टूल्स की तरह, डॉकर के समान सिंटैक्स को दो चेतावनियों के साथ अनुसरण करता है:
podman
का उपयोग करते हैं, लेकिन आप एक उपनाम बना सकते हैं और उस कमांड परिवर्तन के बारे में भूल सकते हैं।
पॉडमैन और यहां दिखाए गए अन्य विकल्पों में से एक प्रमुख अंतर, जिसमें डॉकर डेस्कटॉप भी शामिल है, यह है कि यह डेमॉनलेस है। इसका मतलब यह है कि प्रत्येक चालू कंटेनर अपनी स्वयं की रनटाइम प्रक्रिया के रूप में चलता है, एक डेमन के माध्यम से नहीं। यदि डॉकर डेमन विफल हो जाता है, तो सभी चल रहे कंटेनर विफल हो जाते हैं, जबकि पोडमैन के साथ, केवल व्यक्तिगत कंटेनर विफल हो जाता है। उस ने कहा, मैं व्यक्तिगत रूप से कभी भी डॉकर डेमन विफल नहीं हुआ, लेकिन मैं उत्पादन वर्कलोड नहीं चला रहा हूं।
यहां अन्य सभी टूल्स की तरह, पहले रन पर, पॉडमैन को कंटेनरों को होस्ट करने के लिए macOS और विंडोज पर एक वर्चुअल मशीन बनाने की जरूरत होती है। MacOS और Windows पर यह हमेशा आवश्यक नहीं होता है, लेकिन अधिकतम क्रॉस-प्लेटफ़ॉर्म (और आर्किटेक्चर) संगतता के लिए, यह समझ में आता है। पॉडमैन वीएम को चलाने के लिए फेडोरा कोरोस (वहाँ फिर से रेड हैट कनेक्शन है) और क्यूईएमयू का उपयोग करता है।
पॉडमैन का ग्राफिकल साथी पॉडमैन डेस्कटॉप है, लेकिन सिद्धांत रूप में इसे अन्य रनटाइम, इंक द्वारा बनाई गई छवियों और कंटेनरों को सूचीबद्ध करना चाहिए। कई अन्य ग्राफ़िकल टूल की तरह, यह कुबेरनेट्स के साथ बातचीत करने के लिए सुविधाएँ भी जोड़ता है, लेकिन मैं उन्हें भविष्य की पोस्ट में देखूंगा। यह डॉकर डेस्कटॉप के समान सुविधाओं की पेशकश कर सकता है, जिसमें ऐसी विशेषताएं शामिल हैं जिन्हें मैंने महसूस नहीं किया कि किसी भी मानक का पालन किया गया है, जैसे कि एक्सटेंशन, लेकिन थोड़ा कम पॉलिश किया गया है और ओएस-विशिष्ट सुविधाओं में से कुछ का अभाव है जो डॉकर डेस्कटॉप प्रदान करता है।
केवल Linux और macOS के लिए उपलब्ध, Colima macOS पर Linux VMs को सक्षम करने के लिए Lima का उपयोग करता है। यह डॉकर, कंटेनरड और कुबेरनेट्स रनटाइम का समर्थन करता है, और सभी मामलों में आपको उस रनटाइम को कोलिमा के साथ स्थापित करने की आवश्यकता होती है। MacOS पर Docker के मामले में, यह पूरी तरह से Docker Desktop जैसा नहीं है।
कोलिमा का उपयोग करना जितना आसान है, तथ्य यह है कि आपको अभी भी इसके साथ-साथ एक रनटाइम स्थापित करने की आवश्यकता है, जिससे मुझे आश्चर्य हुआ कि "कोलिमा क्या है?", और ईमानदार होने के लिए, न्यूनतम दस्तावेज इसे कोई स्पष्ट नहीं बनाता है। टैगलाइन "न्यूनतम सेटअप के साथ macOS (और लिनक्स) पर कंटेनर रनटाइम" है, लेकिन यह अभी भी मुझे स्पष्ट नहीं करता है कि मुझे इसकी आवश्यकता क्यों है। जहाँ तक मैं बता सकता हूँ, मुख्य कारण कंटेनरड या कुबेरनेट्स बैकएंड (डॉकर डेस्टॉप, मिनिक्यूब आदि के बजाय) का उपयोग करने के लिए हैं और शायद डॉकर समर्थन का मुख्य कारण पश्चगामी संगतता है।
जबकि यह ज्यादातर कुबेरनेट्स प्रबंधन उपकरण के रूप में खुद को बिल करता है, Rancher Desktop कुबेरनेट्स के बाहर कुछ कंटेनर प्रबंधन सुविधाएँ भी प्रदान करता है। यह कंटेनरड या डॉकर के साथ चलने वाले कंटेनरों का समर्थन करता है और इस सूची में अन्य ग्राफ़िकल टूल के समान अधिकांश सुविधाएँ प्रदान करता है। दोबारा, क्यूईएमयू वीएम प्रदान करता है जो सब कुछ चलता है, इसे बदलने के लिए कोई विकल्प नहीं है। यह एक पूरी तरह से सभ्य उपकरण है, और अधिक परिपक्व विकल्पों में से एक है, लेकिन मुझे लगता है कि जब आप बदलाव करते हैं, तो वीएम को फिर से शुरू करने और रीसेट करने की आवश्यकता होती है, जो थोड़ा थकाऊ था।
यदि आप विंडोज और लिनक्स वीएम चलाने के लिए पहले से ही वीएमवेयर फ्यूजन का उपयोग करते हैं, तो यह कंटेनरों का भी समर्थन करता है । हालाँकि, यह सुविधा वर्तमान में केवल Intel-आधारित Macs के साथ काम करती है, इसके बावजूद कि इंस्टॉलर अभी भी CLI टूल इंस्टॉल कर रहा है और आपको झूठी उम्मीद दे रहा है।
दोबारा, यदि आप पहले से ही Linux और Windows VMs के लिए Parallels Desktop के स्वामी हैं और उसका उपयोग करते हैं, तो आप इसे मिनीक्यूब के बैकएंड के रूप में उपयोग कर सकते हैं, जो कि ज्यादातर कुबेरनेट्स के उपयोग के लिए लक्षित है, लेकिन यह कंटेनर-आसन्न है, इसलिए मैं इसे एक विकल्प के रूप में शामिल करता हूं .
अभी के लिए, एक व्यक्तिगत योगदानकर्ता के रूप में, मैं डॉकर डेस्कटॉप से खुश हूं, और मुझे मेजबान ऑपरेटिंग सिस्टम के साथ अधिक प्रदर्शन और निर्बाध एकीकरण के लिए प्रदान की जाने वाली अतिरिक्त सुविधाएं पसंद हैं।
अगर मेरे जैसे लोगों को भी हतोत्साहित करने के लिए कुछ बदला जाता है, तो मैं संभवतः पॉडमैन डेस्कटॉप के साथ पॉडमैन पर स्विच करूंगा, यह उस समय परियोजना की स्थिति पर निर्भर करेगा।
आप क्या कहते हैं?