2016-03-21 10 views
6

पोस्टग्रेस, मारियाडब, mysql द्वारा उपयोग किए जाने वाले उपयोगकर्ता का उपयोग क्यों नहीं करती हैं। माना जाता है कि आधिकारिक छवियों की समीक्षा सर्वोत्तम प्रथाओं के दस्तावेज़ के अनुपालन के लिए की जाती है, जो requires उपयोगकर्ता जहां संभव हो। क्यूं कर?डॉकर आधिकारिक छवियां "सर्वोत्तम प्रथाओं"

उत्तर

4

मूल रूप से, उपयोगकर्ता आधिकारिक छवियों में संभव है। यह आवश्यकता के साथ संघर्ष करता है कि "प्रारंभिक उपयोगकर्ता docker run official-image bash को --entrypoint के बारे में जानने के बिना सक्षम होना चाहिए"। यदि आपके पास रूट नहीं है, तो आप कॉन्फ़िगरेशन फ़ाइलों को संपादित नहीं कर सकते हैं, स्ट्रेस जैसे पैकेज इंस्टॉल कर सकते हैं ... या विशेष रूप से, वॉल्यूम्स में यूआईडी को ठीक कर सकते हैं। वास्तव में, आधिकारिक छवि शैली माना जाता है (ए) सर्वोत्तम अभ्यास। (तो डोकर userguide विशेष रूप से उपयोगकर्ता पर गैर रूट के रूप में डेमॉन और कम चल रहा है पर जोर दिया जाना चाहिए)


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


तकनीकी तौर पर, सरकारी Dockerfiles भी अधिक chown जोड़ने और यूआईडी Dockerfile को गमागमन द्वारा निर्धारित किया जा सकता है, लेकिन है कि अवांछनीय लगता है।

मुझे लगता है कि दूसरा विकल्प पथ-निर्भर अद्यतन होगा। यही है, chown को तब तक रखें जब तक कि सभी ने निश्चित यूआईडी (कुछ महीने?) के स्वचालित अपडेट किए, और फिर इसे छोड़ दें।

संबंधित मुद्दे