Docker इमेज को हल्का और सुरक्षित बनाना
(insight.infograb.net)- एप्लिकेशन को Docker इमेज के रूप में बनाकर डिप्लॉय करते समय, भारी बेस इमेज इस्तेमाल करने से उसे एक बार डाउनलोड करने में ज़्यादा समय लग सकता है, या उसमें sensitive data शामिल होने से security समस्या पैदा हो सकती है
- Docker इमेज को और हल्का और सुरक्षित बनाने के तरीके
- इमेज साइज़ कम करना
- Docker इमेज जितनी हल्की होगी, एप्लिकेशन build और deployment की गति उतनी तेज़ होगी
- इससे अधिक बार और अधिक मात्रा में deploy करना संभव होता है, और developer productivity बढ़ती है
- तरीके
- मल्टी-स्टेजिंग तकनीक: कई stage बनाकर, हर stage को अलग-अलग build करना और सबसे हल्की इमेज में परिणामों को इंटीग्रेट करना
RUNकमांड का यथासंभव कम उपयोग:RUNकमांड अलग-अलग इमेज लेयर बनाती है। इन्हें न्यूनतम रखने के लिए एकRUNकमांड में जितना संभव हो उतनी scripts चलाना
.dockerignoreसे अनावश्यक source code हटानाREADME.mdया test code वास्तविक एप्लिकेशन build करते समय आवश्यक नहीं होते- API authentication token जैसी sensitive information वाली
.envफ़ाइलें,.pemprivate key फ़ाइलें, और Git commit history वाली.gitdirectory Docker इमेज में शामिल नहीं होनी चाहिए - ऐसे फ़ाइलों को Docker इमेज में शामिल होने से रोकने के लिए
.dockerignoreफ़ाइल बनाना
- सुरक्षित इमेज बनाना
- अगर Docker इमेज के पास root permissions हों, तो hack होने की स्थिति में यह खतरनाक हो सकता है
- तरीके
- सटीक इमेज version का उपयोग: version न लिखने पर
latestversion अपने-आप खींच लिया जाता है, जिससे परिस्थिति के अनुसार व्यवहार बदल सकता है /etcपर write permission हटाना:/etcsystem configuration files और scripts रखने वाली directory है। एप्लिकेशन को सामान्यतः इसमें बदलाव नहीं करना होता, इसलिए write permission हटाना बेहतर है- सभी executable files हटाना: Go के मामले में केवल एक executable file से प्रोग्राम चल सकता है, इसलिए संभावित जोखिम वाले अन्य executable files हटा देना
- सामान्य user पर स्विच करना: root account system की हर चीज़ को modify और control कर सकता है। न्यूनतम permissions वाला user बनाकर एप्लिकेशन को उसी user से चलाना
- सटीक इमेज version का उपयोग: version न लिखने पर
- हल्की Docker इमेज CI/CD pipeline और agile methodology के साथ मिलकर अच्छा synergy दिखाती हैं
- सुरक्षित Docker इमेज से business की रक्षा की जा सकती है और जोखिमों को पहले से रोका जा सकता है
अभी कोई टिप्पणी नहीं है.