डॉकर और स्नैप के बीच मुख्य अंतर क्या है?


85

हाल ही में c't में (उदासी paywalled ) वहाँ लें और उन्हें Flatpak के बारे में एक लेख है।

यहाँ छवि विवरण दर्ज करें

यह डॉकटर के समान लगता है, बहुत सारी अवधारणाएं समान हैं। अब मेरा सवाल है कि Snap और Docker में क्या अंतर है? क्या वे अलग-अलग उपयोग के मामले हैं?

जवाबों:


109

आपको अपने सवाल से संबंधित कंटेनर कैंप में मार्क शटलवर्थ की बात "हमें ऐप्स के लिए शुद्ध रूप से अलग कंटेनर की आवश्यकता क्यों है" मिल सकता है । वह आम तौर पर वीएम, कंटेनर और डॉकर के बारे में बात करता है, जो शुरू में स्नैप्स पर जारी रहता है और लगभग नौ मिनट में वे कैसे फिट होते हैं। यहां मेरा सारांश है।

  • विभिन्न प्रकार के कंटेनर समान दिखते हैं लेकिन विभिन्न प्रयोजनों के लिए उपयोग किए जाते हैं।
  • कंटेनर वास्तव में कर्नेल स्तर पर मौजूद नहीं हैं। विभिन्न प्रकार के भ्रम संभव हैं। स्वतंत्र रूप से हम इस बारे में भ्रम पैदा कर सकते हैं कि उपयोगकर्ता, नेटवर्क, डिस्क और एक कंटेनर प्रक्रिया को क्या देखता है।
  • विभिन्न प्रकार के कंटेनर वास्तव में भ्रम पैदा करने वाले विभिन्न वर्गों के बारे में हैं।
  • तस्वीरें हैं:
    • अपरिवर्तनीय, लेकिन अभी भी आधार प्रणाली का हिस्सा है।
    • नेटवर्क के संदर्भ में एकीकृत, इसलिए डॉकर के विपरीत, सिस्टम आईपी पते को साझा करें, जहां प्रत्येक कंटेनर का अपना आईपी पता हो।
    • दूसरे शब्दों में, डॉकर हमें वहां एक चीज देता है । स्नैप्स हमें यहां एक चीज देता है । उदाहरण के लिए, एक डेस्कटॉप पर, एक स्नैप सही पर एक ऐप प्रदान करता है।
    • एक स्नैप सिस्टम के बाकी हिस्सों को प्रदूषित नहीं कर सकता है। यह अपने स्वयं के बॉक्स में है। लेकिन यह अभी भी शेष (रीड-ओनली) सिस्टम को देख सकता है, जो इसे सिस्टम के साथ बात करने और एकीकृत करने की अनुमति देता है।

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

आप पूछ सकते हैं कि यह पीपीए का उपयोग करने से बेहतर कैसे है। लेकिन डॉकर की तुलना में, यह पूछने जैसा है कि डोकर हाथ से सिस्टम पर निर्भरता स्थापित करने से बेहतर कैसे है। यह बेहतर है, लेकिन वास्तव में एक अलग, गैर-डॉकर-विशिष्ट प्रश्न में सबसे अच्छा उत्तर कैसे दिया जाएगा।


3
यह सच नहीं है। डॉकर डेस्कटॉप एप्लिकेशन (एक बार अनुमति देने) के साथ बातचीत कर सकता है। github.com/jamrizzi/docker-gtk
Jam Risser

2
यह विंडोज़ के लिए सैंडबॉक्स की तरह लगता है। सैंडबॉक्स किए गए प्रोग्राम संवाद खोल सकते हैं, सभी स्थानीय फ़ाइलों तक पहुंच सकते हैं, लेकिन जब वे लिखते हैं, तो वे अपने सैंडबॉक्स में लिखते हैं।
फ़ीड

1
वह उपकरण जो आप एक सामान्य डॉकटर की तुलना में अलग तरीके से करने के लिए लिंक करते हैं? आप अपने x11 सॉकेट को बिना किसी विशेष डॉक वर्जन के डॉकटर में माउंट कर सकते हैं।
फ़ीड

1
यह एक उपकरण नहीं है, यह एक प्रदर्शन है
जाम रिस्सर

1
@jamrizzi यह दिखता है कि आप क्या करते हैं बस एक स्क्रिप्ट में X11 सॉकेट तक डॉक पहुंच देते हैं। यह उपयोगकर्ता को इस प्रक्रिया में किसी भी तरह से शामिल होने से काफी दूर है (जहां "डॉकर प्रदर्शन को एक्सेस करना चाहता है - रद्द करें या अनुमति दें?" संवाद?)
Thorbjørn Ravn Andersen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.