Update3: 06.2019
कुछ टिप्पणियों का कहना है कि उत्तर स्पष्ट नहीं है, मैं स्पष्ट करने की कोशिश करूंगा।
टी एल; डॉ:
प्रश्न: क्या विंडोज कंटेनर लिनक्स पर चल सकते हैं?
A: नहीं। वे नहीं कर सकते।
कंटेनर अंतर्निहित ऑपरेटिंग सिस्टम संसाधनों और ड्राइवरों का उपयोग कर रहे हैं, इसलिए विंडोज कंटेनर केवल विंडोज पर ही चल सकते हैं, और लिनक्स कंटेनर केवल लिनक्स पर ही चल सकते हैं।
प्रश्न: लेकिन विंडोज के लिए डॉकर के बारे में क्या? या अन्य वीएम आधारित समाधान?
A: विंडोज के लिए डॉकर आपको विंडोज पर लिनक्स कंटेनरों को चलाने की अनुमति देता है , लेकिन हुड के तहत एक लिनक्स वीएम बनाया जाता है, इसलिए अभी भी लिनक्स पर लिनक्स कंटेनर चल रहे हैं, और विंडोज पर विंडोज कंटेनर चल रहे हैं ।
बोनस: विंडोज पर लिनक्स डॉकटर कंटेनर चलाने के बारे में यह बहुत अच्छा लेख पढ़ें ।
प्रश्न: तो, मुझे एक .Net फ्रेमवर्क 462 ऐप के साथ क्या करना चाहिए, अगर मैं एक कंटेनर में चलना चाहूंगा?
A: यह निर्भर करता है। कई सिफारिशों के बाद:
- यदि यह संभव है - .Net कोर पर जाएँ। चूंकि .Net कोर .Net फ्रेमवर्क की अधिकांश प्रमुख विशेषताओं के लिए समर्थन लाता है, और .Net फ्रेमवर्क 4.8 .Net फ्रेमवर्क का अंतिम संस्करण होगा
यदि आप .net Core में माइग्रेट नहीं कर सकते हैं - जैसा कि @Sebastian ने उल्लेख किया है - आप अपने पुस्तकालयों को .Net मानक में बदल सकते हैं, और ऐप के 2 संस्करण हैं - एक .Net फ्रेमवर्क 4.6.2 पर, और एक .Net कोर पर - यह नहीं है। हमेशा स्पष्ट रूप से, विजुअल स्टूडियो इसे बहुत अच्छी तरह से (बहु-लक्ष्यीकरण के साथ) समर्थन करता है, लेकिन कुछ आश्रितों को अतिरिक्त देखभाल की आवश्यकता हो सकती है।
(कम अनुशंसित) कुछ मामलों में, आप विंडोज़ कंटेनर चला सकते हैं। कुबेरनेट जैसे प्लेटफार्मों में बेहतर समर्थन के साथ, विंडोज कंटेनर अधिक से अधिक परिपक्व होते जा रहे हैं। लेकिन .Net फ्रेमवर्क कोड को चलाने में सक्षम होने के लिए, आपको अभी भी "सर्वर कोर" की आधार छवि पर चलने की आवश्यकता है, जो लगभग 1.4 जीबी है। ऐसे ही दुर्लभ मामलों में, आप अपने कोड को .Net कोर में माइग्रेट कर सकते हैं, लेकिन फिर भी 95 एमबी की छवि आकार के साथ विंडोज नैनो सर्वर पर चला सकते हैं।
इतिहास के लिए पुराने अपडेट को भी छोड़ दें
अपडेट २: ०er.२०१2
यदि आप डॉकर-फॉर-विंडोज का उपयोग कर रहे हैं, तो आप अब एक साथ दोनों विंडो और लिनक्स कंटेनर चला सकते हैं: https://blogs.msdn.microsoft.com/premier_developer/2018/04/20/running-docker-windows- और-linux-कंटेनर-एक साथ /
बोनस: सीधे प्रश्न से संबंधित नहीं है, लेकिन अब आप न केवल लिनक्स कंटेनर को चला सकते हैं, बल्कि ऑर्केस्ट्रेटर जैसे कुबेरनेट भी: https://blog.docker.com/2018/07/kubernetes-is-now-available-in -docker-desktop-स्थिर चैनल /
2018 पर अपडेट किया गया:
सामान्य रूप से मूल उत्तर सही है, लेकिन कई महीने पहले, डॉक ने प्रायोगिक सुविधा LCOW ( आधिकारिक गितूब रिपॉजिटरी ) जोड़ा ।
से इस पोस्ट :
क्या विंडोज के लिए डॉकर पहले से ही लिनक्स कंटेनर नहीं चलाता है? ये सही है। विंडोज के लिए डॉकर लिनक्स या विंडोज कंटेनर चला सकता है, हाइपर- V मोबी लिनक्स वीएम के माध्यम से लिनक्स कंटेनर के लिए समर्थन के साथ (विंडोज 17.10 के लिए डॉकर के रूप में यह वीएम लिनक्सकिट पर आधारित है)।
LCOW के साथ लिनक्स कंटेनरों को चलाने के लिए सेटअप पिछले आर्किटेक्चर की तुलना में बहुत सरल है जहां हाइपर-वी लिनक्स वीएम आपके सभी कंटेनरों के साथ एक लिनक्स डॉकर डेमॉन चलाता है। LCOW के साथ, डॉकर डेमॉन एक विंडोज प्रक्रिया के रूप में चलता है (डॉकर विंडोज कंटेनरों को चलाने के दौरान भी) शीर्ष पर चल रहा है।
क्योंकि केवल एक ही डॉकटर डेमॉन है, और क्योंकि यह डेमॉन अब विंडोज पर चलता है, इसलिए मैं जल्द ही विंडोज और लिनक्स डॉकर कंटेनर को एक ही नेटवर्किंग नाम स्थान पर साइड-बाय-साइड चलाना संभव होगा । यह विंडोज पर डॉकर उपयोगकर्ताओं के लिए बहुत सारे रोमांचक विकास और उत्पादन परिदृश्यों को अनलॉक करेगा।
मूल:
जैसा कि @PanagiotisKanavos द्वारा टिप्पणियों में उल्लेख किया गया है, कंटेनर वर्चुअलाइजेशन के लिए नहीं हैं, और वे मेजबान मशीन के संसाधनों का उपयोग कर रहे हैं । नतीजतन, अब के लिए विंडोज कंटेनर लिनक्स मशीन पर "जैसा है" नहीं चल सकता है।
लेकिन - आप इसे वीएम का उपयोग करके कर सकते हैं - जैसा कि यह विंडोज़ पर काम करता है। आप अपने लिनक्स होस्ट पर विंडोज़ वीएम स्थापित कर सकते हैं, जो विंडोज़ कंटेनरों को चलाने की अनुमति देगा।
इसके साथ, IMHO ने इसे इस तरह से चलाया, PROD पर्यावरण सबसे अच्छा विचार नहीं होगा।
साथ ही, यह उत्तर अधिक विवरण प्रदान करता है।