मैं ऐसी स्थिति में हूं जहां मुझे विंडोज़ आधारित बिल्ड सर्वर पर डॉकर चलाने की आवश्यकता है (मैं सामान्य रूप से आर्क/डेबियन लिनक्स के साथ काम कर रहा हूं) और मुझे सिस्टम बूट पर स्वचालित रूप से शुरू करने के लिए डॉकर वीएम रखने का कोई तरीका नहीं मिल रहा है । लिनक्स पर यह एक सेवा होगी लेकिन विंडोज़ पर ऐसा नहीं लगता है ।
मैंने निर्देशों का पालन किया https://docs.docker.com/engine/installation/windows/ और सब कुछ तब चलता है जब मैं डॉकर वीएम को $ डॉकर-मशीन बनाने के साथ शुरू करता हूं लेकिन इसे विंडोज सेवा या इसी तरह के रूप में कैसे किया जाए?
लक्ष्य बिल्ड डॉकर छवियों का उपयोग करने, कंटेनर के रूप में शुरू करने और उनके खिलाफ ई 2 ई परीक्षण चलाने में सक्षम होना है । चूंकि हम टीमसिटी का उपयोग टीमसिटी के साथ इसे हल करने के बारे में किसी भी विचार के निर्माण के लिए कर रहे हैं, मुझे लगता है कि यह भी काम करेगा ।
मैंने कुछ समय पहले एक छोटा सा वेबएप लिखा था जिसमें एक सिस्टम निर्भरता है जो केवल यूनिक्स सिस्टम के लिए उपलब्ध है इसलिए डॉकर प्राकृतिक विकल्प था (हालांकि मुझे योनि के साथ काफी सफलता मिली थी । .)
मैं विकास के लिए विंडोज का उपयोग कर रहा हूं और इस वेबपैप को इसके डॉकर कंटेनर में भी चला रहा हूं ।
तो मैं एक ही मुद्दे पर आया, "सिस्टम बूट पर इसे कैसे शुरू करें"?
मैं अपनी ऑटोस्टार्ट निर्देशिका में एक छोटी बैच फ़ाइल के साथ समाप्त हुआ जिसमें निम्न पंक्तियों की तरह कुछ था:
पहली कॉल "डिफ़ॉल्ट" वर्चुअल मशीन शुरू करती है, हालांकि आपको वहां एक अलग वीएम निर्दिष्ट करने में सक्षम होना चाहिए । दूसरी कॉल "माई/इमेज" डॉकर कंटेनर चलाती है, पोर्ट 8080 को होस्ट सिस्टम में उजागर करती है और मेरे उपयोगकर्ता की होम डायरेक्टरी से "कुछ" माउंट करती है । "- डी " पैरामीटर निर्दिष्ट करना सुनिश्चित करें क्योंकि यह कंटेनर "पृष्ठभूमि में" चलाता है (चेक "डॉकर रन-हेल्प")
उस के बाद मेरे webapp पर पहुँच सकता है के आईपी पते के "डिफ़ॉल्ट VM"(मेरे मामले में किया गया था कि 192.168.99.100, यह अलग हो सकता है आपके सिस्टम पर, आप कर सकते हैं आउटपुट की जाँच करें पहली बार शुरू जब यह "डोकर quickstart टर्मिनल" के रूप में आईपी पते लॉग इन किया जाएगा करने के लिए सांत्वना.)
इसके साथ ही मैं हमेशा की तरह अपने ब्राउज़र का उपयोग करने में सक्षम हूं, इसे इंगित करें "http://192.168.99.100:8080"और मेरे वेबएप के साथ काम कर सकते हैं ।
आशा है कि मदद करता है =)
संपादित करें
उक्त बैच फ़ाइल के साथ अब हाथ में, एक के पास 3 विकल्प हैं:
बैच फ़ाइल को अपनी ऑटोस्टार्ट निर्देशिका में रखें (इंटरैक्टिव उपयोगकर्ता सत्रों की आवश्यकता है, इसलिए सर्वर इंस्टेंस के लिए उपयुक्त नहीं है । .)
विंडोज के टास्क शेड्यूलर के माध्यम से बैच फ़ाइल के निष्पादन को शेड्यूल करें । वहां आप कार्य के लिए ट्रिगर के रूप में "कंप्यूटर स्टार्टअप पर चलाएं" सेट कर सकते हैं । कार्य एक इंटरैक्टिव सत्र (एक लॉग-इन उपयोगकर्ता) की परवाह किए बिना चलाया जाता है । .) उपलब्ध होना या न होना
एक सेवा आवरण का उपयोग करें जैसे NSSM बैच फ़ाइल को विंडोज सेवा के रूप में स्थापित करने के लिए
बस एक छोटा सा ऐडऑन: जब आप अपनी डॉकर छवियों को शुरू करते हैं और चाहते हैं कि वे डॉकर के बूट पर शुरू हों (इस मामले में वर्चुअलमैचिन रनिंग डॉकर) आप डॉकर रन कमांड में --रिस्टार्ट ऑलवेज विकल्प का उपयोग कर सकते हैं । फिर आप अपनी बैच फ़ाइलों से डॉकर रन कमांड को हटा सकते हैं । वीएम शुरू होने के बाद कंटेनर स्वचालित रूप से शुरू होना चाहिए ।