चाबी छीनना

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

डॉकर सबसे लोकप्रिय कंटेनरीकरण सॉफ्टवेयर है, लेकिन हर कोई इसका कुशलतापूर्वक उपयोग नहीं करता है। यदि आप डॉकर की सर्वोत्तम प्रथाओं का पालन नहीं करते हैं, तो आप अपने ऐप्स को सुरक्षा समस्याओं या प्रदर्शन समस्याओं के प्रति संवेदनशील बना सकते हैं।

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

1. आधिकारिक डॉकर छवियों का उपयोग करें

अपने एप्लिकेशन को कंटेनराइज़ करते समय, आपको डॉकर छवि का उपयोग करना होगा। आप कस्टम कॉन्फ़िगरेशन के साथ एक छवि बना सकते हैं या डॉकर की आधिकारिक छवियों का उपयोग कर सकते हैं।

instagram viewer

अपनी खुद की छवियां बनाने के लिए आवश्यक है कि आप सभी कॉन्फ़िगरेशन को स्वयं संभालें। उदाहरण के लिए, नोड.जेएस एप्लिकेशन के लिए एक छवि बनाने के लिए, आपको नोड.जेएस और उसकी निर्भरताएं डाउनलोड करनी होंगी। यह प्रक्रिया समय लेने वाली है और हो सकता है कि सभी सही कॉन्फ़िगरेशन न मिलें।

डॉकर आपको एक आधिकारिक नोड.जेएस छवि का उपयोग करने की सलाह देता है जो सभी सही निर्भरताओं के साथ आती है। डॉकर छवियों में बेहतर सुरक्षा उपाय हैं, वे हल्के हैं, और विभिन्न वातावरणों के लिए परीक्षण किए गए हैं। आप आधिकारिक चित्र यहां पा सकते हैं डॉकर की आधिकारिक छवियां पृष्ठ।

2. डॉकर छवि के विशिष्ट संस्करणों का उपयोग करें

आमतौर पर, जब आप कोई आधिकारिक छवि खींचते हैं, तो वह नवीनतम टैग वाली छवि होती है जो उस छवि के नवीनतम अद्यतन संस्करण का प्रतिनिधित्व करती है। हर बार जब आप उस छवि से एक कंटेनर बनाते हैं, तो यह अंतिम कंटेनर का एक अलग संस्करण होता है।

विभिन्न डॉकर छवि संस्करणों के साथ निर्माण करने से आपके एप्लिकेशन में अप्रत्याशित व्यवहार हो सकता है। संस्करण अन्य निर्भरताओं के साथ टकरा सकते हैं और अंततः आपके ऐप के विफल होने का कारण बन सकते हैं।

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

उदाहरण के लिए, के बजाय डोकर पुल अल्पाइन, उपयोग डोकर पुल अल्पाइन: 3.18.3. डॉकर उस विशिष्ट संस्करण को खींच लेगा। फिर आप इसे अपने एप्लिकेशन में त्रुटियों को कम करते हुए, क्रमिक बिल्ड में उपयोग कर सकते हैं। आप छवियों के विशेष संस्करण नीचे आधिकारिक डॉकर छवि पृष्ठ पर पा सकते हैं समर्थित टैग और संबंधित डॉकरफ़ाइल लिंक:

3. सुरक्षा कमजोरियों के लिए छवियाँ स्कैन करें

आप यह कैसे निर्धारित कर सकते हैं कि जिस छवि के साथ आप निर्माण करना चाहते हैं उसमें कोई सुरक्षा कमजोरियाँ नहीं हैं? इसे स्कैन करके. आप डॉकर स्कैन कमांड का उपयोग करके डॉकर छवियों को स्कैन कर सकते हैं। वाक्यविन्यास इस प्रकार है:

docker scan [IMAGE]

किसी छवि को स्कैन करने के लिए आपको सबसे पहले docker में लॉग इन करना होगा।

docker login

फिर, उस विशिष्ट छवि को स्कैन करें जिसे आप जांचना चाहते हैं:

docker scan ubuntu: latest

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

4. छोटे आकार की डॉकर छवियों का उपयोग करें

जब आप डॉकर छवि खींचते हैं, तो यह सभी सिस्टम उपयोगिताओं के साथ आती है। यह उन उपकरणों के साथ छवि का आकार बढ़ाता है जिनकी आपको आवश्यकता नहीं है।

बड़ी डॉकर छवियां भंडारण स्थान लेती हैं और कंटेनरों के रनटाइम को धीमा कर सकती हैं। उनमें सुरक्षा संबंधी कमज़ोरियों की भी अधिक संभावना होती है।

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

आपको डॉकर पर अधिकांश आधिकारिक छवियों का अल्पाइन संस्करण मिलेगा। यहां PostgreSQL के लिए अल्पाइन संस्करणों का एक उदाहरण दिया गया है:

5. कैशिंग छवि परतों को अनुकूलित करें

Dockerfile में प्रत्येक कमांड छवि पर एक परत का प्रतिनिधित्व करता है। परतों की अलग-अलग उपयोगिताएँ हैं और वे विभिन्न कार्य करती हैं। यदि आप डॉकर हब पर आधिकारिक छवियों को देखते हैं, तो आप उन्हें बनाने के लिए उपयोग किए गए निर्देश देखेंगे।

Dockerfile में वह सब कुछ शामिल है जो आपको छवि बनाने के लिए चाहिए। यह कई कारणों में से एक है डेवलपर्स वर्चुअल मशीनों की तुलना में डॉकर को प्राथमिकता देते हैं.

यहां एक उदाहरण अल्पाइन छवि की संरचना दी गई है:

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

सबसे अच्छा अभ्यास यह है कि अपनी डॉकरफ़ाइल को सबसे कम बदलने वाली फ़ाइलों से सबसे अधिक बार बदलने वाली फ़ाइलों में व्यवस्थित करें। जो निर्देश नहीं बदलते, जैसे इंस्टॉलेशन, वे फ़ाइल के शीर्ष पर हो सकते हैं।

जब आप कोई फ़ाइल बदलते हैं, तो डॉकर बदली हुई फ़ाइलों से निर्माण करता है और उसके ऊपर अपरिवर्तित फ़ाइलों को कैश करता है। इसलिए, प्रक्रिया तेजी से चलती है.

ऊपर चित्र में दिखाए गए उदाहरण को देखें। यदि एप्लिकेशन फ़ाइलों में कोई बदलाव होता है, तो डॉकर वहां से निर्माण करता है; इसे दोबारा npm संकुल संस्थापित करने की आवश्यकता नहीं है।

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

7. .dockerignore फ़ाइल का उपयोग करें

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

.dockerignore फ़ाइल का उपयोग करने से छवि का आकार काफी कम हो जाता है। ऐसा इसलिए है क्योंकि निर्माण प्रक्रिया में केवल आवश्यक फ़ाइलें ही शामिल होती हैं। यह फ़ाइलों को निजी रखने और गुप्त कुंजी या पासवर्ड को उजागर करने से बचाने में भी मदद करता है।

.dockerignore फ़ाइल वह फ़ाइल है जिसे आप अपने Dockerfile के समान फ़ोल्डर में बनाते हैं। यह एक टेक्स्ट फ़ाइल है, बिल्कुल वैसी ही एक .gitignore फ़ाइल, जिसमें उन फ़ाइलों के नाम शामिल हैं जिन्हें आप निर्माण प्रक्रिया में शामिल नहीं करना चाहते हैं।

यहाँ एक उदाहरण है:

8. कम से कम विशेषाधिकार प्राप्त उपयोगकर्ता के सिद्धांत का प्रयोग करें

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

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

यहां एक उदाहरण दिया गया है जिसमें दिखाया गया है कि उपयोगकर्ता कैसे बनाएं और उनकी अनुमतियां कैसे सेट करें:

कुछ आधार छवियों में छद्म उपयोगकर्ता बनाए गए हैं। आप रूट उपयोगकर्ता अनुमतियों के बजाय इंस्टॉल किए गए उपयोगकर्ताओं का उपयोग कर सकते हैं।

आपको डॉकर की सर्वोत्तम प्रथाओं को क्यों अपनाना चाहिए

सर्वोत्तम प्रथाएँ कमजोरियों को कम करने और क्लीनर कोड लिखने का एक शानदार तरीका है। ऐसी कई सर्वोत्तम प्रथाएँ हैं जिन्हें आप अपने द्वारा उपयोग किए जाने वाले प्रत्येक डॉकर फीचर पर लागू कर सकते हैं।

एक सुव्यवस्थित परियोजना कुबेरनेट्स जैसे अन्य ऑर्केस्ट्रेटिंग टूल के साथ सिंक्रनाइज़ करना आसान बनाती है। आप लेख में बताई गई बातों से शुरुआत कर सकते हैं और डॉकर सीखते समय और अधिक अपना सकते हैं।