Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

मैं बड़ी Docker छवियों के निवारण में बहुत समय बिताता था, बिल्ड पूरा होने की प्रतीक्षा करता था, और बर्बाद स्टोरेज के बारे में चिंता करता था। ऐसा लगा कि कोई फर्क नहीं पड़ता कि मैंने अपने Dockerfiles को कितनी सावधानी से संरचित किया, छवियां हमेशा आवश्यकता से भारी हो गईं। यह सब बदल गया जब मैंने SlimToolkit (जिसे पहले DockerSlim के नाम से जाना जाता था) की खोज की।

यह टूल एक Docker छवि का विश्लेषण करता है, पहचानता है कि रनटाइम पर वास्तव में कौन सी फाइलें और निर्भरताएं आवश्यक हैं, और बाकी सब कुछ हटा देता है। यह देखने के लिए इस गाइड का पालन करें कि SlimToolkit कैसे काम करता है, और वे चरण जिनका उपयोग मैंने अपनी Docker छवियों को बिना कुछ तोड़े सिकोड़ने के लिए किया।

SlimToolkit Docker छवि अनुकूलन को सरल बनाता है

SlimToolkit एक ओपन-सोर्स टूल है जो एप्लिकेशन कोड या Dockerfiles में बदलाव की आवश्यकता के बिना Docker छवि आकार को कम करता है। यह मैन्युअल अनुकूलन चरणों की आवश्यकता को हटा देता है, जैसे पैकेज साफ करना या बिल्ड चरणों को फिर से लिखना। इसके बजाय, SlimToolkit छवि अनुकूलन को स्वचालित रूप से संभालता है और प्रक्रिया को सरल रखता है।

जब आप किसी Docker छवि पर SlimToolkit चलाते हैं, तो यह कंटेनर कैसे चलता है यह देखकर एक डायनामिक विश्लेषण करता है। यह ठीक से ट्रैक करता है कि निष्पादन के दौरान एप्लिकेशन किन फाइलों, लाइब्रेरी और निर्भरताओं को छूता है। इस डेटा के आधार पर, यह केवल आवश्यक घटकों वाली एक नई, अनुकूलित छवि बनाता है। यह मूल छवि को अपरिवर्तित रखता है, जिससे प्रक्रिया सुरक्षित और उलटने में आसान हो जाती है।

SlimToolkit मौजूदा छवियों के साथ काम करता है और Node.js, Python, Java, और Go को सपोर्ट करता है, बिना उन्नत Docker या लिनक्स ज्ञान की आवश्यकता के। यह अधिकांश वर्कफ़्लो में सहजता से एकीकृत होता है, अप्रयुक्त टूल्स और शेल को हटाकर कंटेनर सुरक्षा में सुधार करता है जिनका हमलावर फायदा उठा सकते हैं। छोटी छवियां तेजी से डाउनलोड होती हैं, तेजी से शुरू होती हैं, और कम संसाधनों का उपभोग करती हैं, जो CI/CD पाइपलाइन के लिए एक बड़ी जीत है।

Docker के माध्यम से SlimToolkit का उपयोग करना सबसे आसान तरीका है क्योंकि इसके लिए किसी स्थानीय इंस्टॉलेशन की आवश्यकता नहीं होती है। जब तक Docker इंस्टॉल और चल रहा है, आप तुरंत SlimToolkit का उपयोग शुरू कर सकते हैं।

सबसे पहले, निम्न docker कमांड का उपयोग करके आधिकारिक SlimToolkit छवि डाउनलोड करें:

docker pull dslim/slim
SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

SlimToolkit चलाने के लिए Docker सॉकेट (/var/run/docker.sock) को माउंट करने की आवश्यकता होती है। यह कंटेनर को आपके स्थानीय Docker इंजन के साथ संवाद करने की अनुमति देता है ताकि छवियों का विश्लेषण और अनुकूलन किया जा सके। सुनिश्चित करें कि आप केवल विश्वसनीय आधिकारिक छवियों का उपयोग करते हैं।

SlimToolkit के साथ Docker छवि आकार कम करना

अनुकूलन प्रक्रिया को प्रदर्शित करने के लिए, हम एक मानक Nginx छवि को स्लिम करेंगे। सबसे पहले, आधिकारिक, नवीनतम Nginx छवि खींचें:

docker pull nginx:latest
SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

Nginx जैसे मानक एप्लिकेशन के लिए, आप बिल्ड कमांड को सीधे चला सकते हैं। SlimToolkit जांचता है कि कंटेनर वास्तव में किन फाइलों का उपयोग करता है और अनावश्यक को हटा देता है।

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build --target nginx:latest --tag nginx-slim:latest
SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

कुछ भाषाएं (जैसे Python या Ruby) में ऐसी निर्भरताएं हो सकती हैं जो मानक जांच के दौरान तुरंत ट्रिगर नहीं होती हैं। उन मामलों में, "ignore.txt" फ़ाइल बनाएं ताकि SlimToolkit को बताया जा सके कि किन फ़ोल्डर्स को रखना है, जैसे "/usr/local/lib/python3.11"। यह SlimToolkit को आवश्यक रनटाइम निर्भरताओं को हटाने से रोकता है।

आप वॉल्यूम माउंट के साथ कमांड चला सकते हैं ताकि आपके संरक्षण नियम शामिल हों:

-v "$(pwd)":/target --preserve-path-file /target/ignore.txt

आकार अंतर की तुलना: मूल बनाम स्लिम्ड छवि

एक बार प्रक्रिया समाप्त हो जाने पर, SlimToolkit अनुकूलित छवि को स्थानीय रूप से सहेजता है। आप इस कमांड के साथ मूल और स्लिम्ड संस्करण के बीच आकार अंतर की तुलना कर सकते हैं:

docker images

आपको संभवतः एक नाटकीय कमी दिखाई देगी।

SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

अंत में, यह सुनिश्चित करने के लिए अपनी नई अनुकूलित छवि का परीक्षण करें कि यह अपेक्षा के अनुरूप काम करती है:

docker run -it -p 8080:80 nginx-slim:latest
SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

अपना ब्राउज़र खोलें और https://localhost:8080 पर जाएं। आपको डिफ़ॉल्ट Nginx स्वागत पृष्ठ दिखाई देना चाहिए, लेकिन काफी छोटे कंटेनर पदचिह्न से चल रहा है।

SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

SlimToolkit Docker छवियों का विश्लेषण और अनुकूलन करने में आपकी सहायता के लिए कुछ प्रमुख कमांड प्रदान करता है। यहां सबसे उपयोगी लोगों की सूची है:

कमांडविवरण
slim buildकेवल आवश्यक फाइलों और निर्भरताओं को रखकर एक Docker छवि को अनुकूलित करता है, छवि आकार को कम करता है।
slim xrayएक Docker छवि का विश्लेषण करता है और दिखाता है कि अंदर क्या है, जिसमें फाइलें, लेयर, और निर्भरताएं शामिल हैं।
slim lintबिल्ड समस्याओं को रोकने के लिए Dockerfiles में त्रुटियों की जांच करता है।
slim debugएक स्लिम्ड Docker छवि से बने चल रहे कंटेनर को डीबग करने की अनुमति देता है।
slim profileएक Docker छवि के बारे में जानकारी एकत्र करता है और आकार और प्रदर्शन विश्लेषण के लिए एक JSON रिपोर्ट आउटपुट करता है।
slim mergeदो Docker छवियों को एक छवि में मिलाता है।

आप निम्न कमांड का उपयोग करके सभी उपलब्ध SlimToolkit कमांड और उनके उपयोग की जांच भी कर सकते हैं।

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim slim help
SlimToolkit के साथ Docker छवि आकार कम करें और प्रदर्शन बढ़ाएं - एक सिद्ध अनुकूलन टूल

ध्यान रखने योग्य सीमाएं

जबकि SlimToolkit Docker छवि आकार को कम करने में मदद करता है, आपको कुछ कमियों पर विचार करना चाहिए:

  • बड़ी छवियों को स्लिम करने में अधिक समय लग सकता है, इसलिए तदनुसार योजना बनाएं।
  • क्योंकि टूल डायनामिक विश्लेषण का उपयोग करता है, यदि बिल्ड प्रक्रिया के दौरान एक विशिष्ट कोड पथ निष्पादित नहीं होता है, तो SlimToolkit सोच सकता है कि एक निर्भरता अप्रयुक्त है और इसे हटा सकता है। हमेशा अपने स्लिम्ड छवियों का अच्छी तरह से परीक्षण करें।
  • यह अक्सर स्थान बचाने के लिए bash या curl जैसे टूल्स को हटा देता है। यदि आपको उत्पादन कंटेनर के अंदर समस्या निवारण के लिए इनकी आवश्यकता है, तो आपको SlimToolkit को स्पष्ट रूप से उन्हें रखने के लिए कहना होगा।

समापन

SlimToolkit को अपने वर्कफ़्लो में जोड़ने से तैनाती में तेजी आती है, सुसंगत प्रदर्शन सुनिश्चित होता है, और कंटेनर ब्लोट को कम किया जाता है। यह आपको अपने मूल बिल्ड को अपरिवर्तित रखते हुए क्लीनर और अधिक पेशेवर Docker छवियां बनाने में मदद करता है। इसके अलावा, सर्वोत्तम Docker सफाई प्रथाओं को अपनाने से समय के साथ कुशल, सुव्यवस्थित कंटेनर बनाए रखने में मदद मिलती है।


  1. विंडोज लाइसेंसिंग के 3 प्रकार क्या हैं? विंडोज लाइसेंसिंग के 3 प्रकार क्या हैं?

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

  1. विंडोज 10 पर ग्रुप पॉलिसी एडिटर का उपयोग कैसे करें विंडोज 10 पर ग्रुप पॉलिसी एडिटर का उपयोग कैसे करें

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

  1. मीडियामंकी: एक गंभीर मीडिया ऑर्गनाइज़र – समीक्षा और गिवअवे मीडियामंकी: एक गंभीर मीडिया ऑर्गनाइज़र – समीक्षा और गिवअवे

    मीडियामंकी एक पूर्ण-विशेषताओं वाला डिजिटल मीडिया प्लेयर है जिसमें गंभीर मीडिया ऑर्गनाइज़िंग क्षमताएं हैं, जबकि यह हल्का और उपयोग में आसान भी है। हालांकि बहुत सारे म्यूजिक प्लेयर आपके मीडिया को बेहतर ढंग से ऑर्गनाइज़ करने का दावा करते हैं, लेकिन मीडियामंकी वास्तव में ऑटोमैटिक ऑर्गनाइज़र, ऑटो टैगर, टै