मैं देख रहा हूँ में धारणा की तिजोरी के तहत चल रहे झुंड (1.12.x).
एक एकल कंटेनर के साथ शुरू किया जाएगा:docker run -d --cap-add IPC_LOCK -p 8200:8200 -p 8215:8125 --name vault --volume /vagrant/vault:/vagrant/vault vault server -config=/path/to/vault.hcl
लेकिन जब मैं इसे झुंड में एक सेवा के रूप में चलाना चाहता हूं, तो निर्दिष्ट करने का कोई तरीका नहीं प्रतीत होता है IPC_LOCK क्षमता, इस मामले में तिजोरी सेवा के लिए एन्क्रिप्टेड स्वैपिंग को लॉक करने के लिए ।
के साथ एक झुंड मोड सेवा शुरू करते समय मैं-कैप-झंडे कैसे सेट कर सकता हूं docker service create कमान?
यह वर्तमान में समर्थित नहीं है, लेकिन डॉकर एक समाधान पर काम कर रहा है । शामिल नहीं करने के पीछे तर्क --cap-add विकल्प नेत्रहीन एक बड़े क्लस्टर में है, एक प्रबंधक द्वारा एक कार्यकर्ता को अतिरिक्त विशेषाधिकार के साथ कंटेनर जमा करने की सुरक्षा चिंताएं हो सकती हैं । कार्यकर्ता सुरक्षित कंटेनर चलाने पर भरोसा कर सकता है जो होस्ट तक नहीं पहुंच सकता है, लेकिन विशेषाधिकार प्राप्त कंटेनर के माध्यम से होस्ट को रिमोट रूट एक्सेस की अनुमति नहीं देना चाहता है ।
उपयोग के मामले के आधार पर, एक समाधान बाइंड-माउंट करना है /var/run/docker.sock झुंड मेजबान(ओं) से सेवा तक, फिर चलाएं docker run --privileged ... या docker run --cap-add ... अपने वास्तविक विशेषाधिकार प्राप्त आदेशों को निष्पादित करने के लिए सेवा से । (आपको सेवा के लिए छवि में डॉकर सीएलआई स्थापित करना होगा । ) इस तरह से चलने वाले अंतरतम कंटेनर में सेवा के बजाय झुंड मेजबान की विशेषाधिकार/क्षमताएं होंगी, और सेवा सिर्फ एक पतली कंटेनर परत बन जाती है ।