Docker Images Windows / MVC Core पर निर्मित होने के लिए धीमी है


9

मेरे पास डॉकटर कंटेनरों में कई परियोजनाओं के साथ एमवीसी कोर 2.2 है। जब मैं इसे चलाता हूं, तो छवियों को बनाने और कंटेनरों को आग लगाने में लगभग 4 मिनट लगते हैं। मैं उपयोग कर रहा हूं docker-compose

यह धीमा लगता है, यह देखते हुए कि यह छोटा विकास है और मेरे पास एक अच्छा कंप्यूटर है। ऐसा लगता है कि संसाधनों का उपयोग नहीं किया जा रहा है, क्योंकि छवि निर्माण के दौरान प्रोसेसर 8% से कम है, रैम हिलता नहीं है, डिस्क लगभग 0% है। GPU 0%। मैं Microsoft छवि डाउनलोड होने के दौरान कुछ सेकंड के लिए इंटरनेट स्पाइकिंग देख सकता हूं, लेकिन यह है। मैंने निम्नलिखित संसाधनों के लिए docker को दिया है:

Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)

किसी भी विचार कैसे इन हार्डवेयर संसाधनों का उपयोग तेजी से बिल्ड बनाने के लिए किया जा सकता है?


क्या आपने विंडोज या लिनक्स कोर बेस-इमेज का उपयोग किया था?
थॉमस ब्रूगेमैन

मैं विंडोज 10 मशीन पर लिनक्स-आधारित छवियों का उपयोग कर रहा हूं
मिलीग्राम

1
इसलिए लिनक्स कंटेनर विंडोज 10 के तहत देशी नहीं चलेंगे, विंडोज के लिए डॉकर इसके लिए एक विशेष वीएम बनाएंगे, शायद यह देरी का कारण होगा। यह एक प्रायोगिक सुविधा मौजूद है, लेकिन यह अभी भी विकास देखने में है github.com/moby/moby/issues/33850
थॉमस Bruggemann

जवाबों:


2

यह विंडोज 10 पर डॉकर के साथ एक सामान्य मुद्दा लगता है क्योंकि मुझे इस मुद्दे के बारे में बोलने वाले वेब पर कई थ्रेड्स मिले और यह आमतौर पर डॉकर को सौंपे गए हार्डवेयर संसाधन से संबंधित नहीं है।

इसलिए मैंने अपने विंडोज 10 वर्चुअल इंस्टेंस पर कुछ कोशिशें की हैं और एक समान व्यवहार पर ध्यान दिया है, उदाहरण के लिए कुछ डॉकटर-कंपोज़ का उपयोग करके लिनक्स आधारित कंटेनर।

यहां मैं उन चरणों की रिपोर्ट करता हूं, जिन्हें मैंने अपनी खोजों के दौरान पाया था, जो वास्तव में मेरे परीक्षणों के दौरान संचालन को गति देते थे:

  1. विकास जोड़ें (जैसे git repos) और docker छवि निर्देशिकाओं पर:

    • Windows डिफेंडर बहिष्करण सूची ( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )

      नोट: यहाँ पहले यह देखने के लिए कि क्या यह मदद करता है, विंडोज डिफेंडर को निष्क्रिय करने की कोशिश करता है

    • Windows अनुक्रमण बहिष्करण सूची (नियंत्रण कक्ष -> अनुक्रमण विकल्प)

  2. फ्लश डीएनएस निम्नलिखित कमांड को निष्पादित करता है:

    ipconfig /flushdns
    
  3. Google एक (8.8.8.8 - 8.8.4.4) या क्लाउड किराया एक (1.1.1.1 - 1.0.0.1) उदाहरण के लिए DNS को बदलने का प्रयास करें (यहाँ, जैसा कि मेरे पास पहले से ही Google DNS था, मैंने विपरीत तरीके से सेटिंग करने की कोशिश की धीमी DNS और वास्तव में संचालन थोड़ा धीमा हो गया)

  4. यदि कोई अन्य एंटीवायरस स्थापित है, तो अपवाद जोड़ें (यहां भी पहले उन्हें अक्षम करके देखें कि क्या यह मदद कर सकता है)

  5. सभी नेटवर्क इंटरफेस से सभी IPV6 समर्थन और NetBIOS निकालें

नोट: किसी ने डॉकर की स्थापना रद्द करने और इन लागू होने के बाद स्थापित करने की सलाह दी, लेकिन मैंने परीक्षण नहीं किया क्योंकि मैंने एक नए विंडोज 10 इंस्टॉलेशन से शुरुआत की है।

आशा है कि ये आपके पर्यावरण पर भी मदद कर सकते हैं!

मुझे मिले सर्वोत्तम संदर्भ:


1

जांचें कि क्या बिल्ड डायरेक्टरी में बहुत सारी फाइलें हैं, अगर dcoker को सभी फाइलों को डेमॉन में भेजने की जरूरत है, जिसे खत्म करने के लिए भी समय की जरूरत है ......

आप अवांछित फ़ाइलों का उपयोग करके अनदेखा कर सकते हैं .dockerignore

Docker CLI करने से पहले docker डेमन को संदर्भ भेजता है, यह संदर्भ के रूट डायरेक्टरी में .dockerignore नामक फ़ाइल की तलाश करता है। यदि यह फ़ाइल मौजूद है, तो CLI उन फ़ाइलों और निर्देशिकाओं को बाहर करने के लिए संदर्भ को संशोधित करता है जो इसमें पैटर्न से मेल खाते हैं। यह अनावश्यक रूप से बड़ी या संवेदनशील फ़ाइलों और निर्देशिकाओं को डेमन तक भेजने से बचने में मदद करता है और संभवतः उन्हें ADD या COPY का उपयोग करके छवियों में जोड़ देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.