2013-09-26 5 views
24

मेरे पास एक डॉकर कंटेनर है जिसे मैं डेटाबेस में क्लाइंट एक्सेस विभाजन के लिए उपयोग करना चाहता हूं। मैं प्रति ग्राहक एक कंटेनर प्राप्त करने में सक्षम होना चाहता हूँ। अगर मैं कंटेनर की कई प्रतियां शुरू करता हूं तो उनके पास एक ही नाम होता है, केवल कंटेनर को बंदरगाह वाला एकमात्र अंतर होता है।डॉकर कंटेनर की प्रतिलिपि बनाने और उसका नाम बदलने के लिए कैसे?

मैं कंटेनर को इस तरह से प्रतिलिपि/पुनर्नामित कैसे कर सकता हूं कि मैं कंटेनर को क्लाइंट को निर्दिष्ट पोर्ट से मेल खाने वाली लुकअप टेबल से परामर्श किए बिना अलग कर सकता हूं?

+0

मैं अभी भी कंटेनर का नाम बदलने का एक तरीका देख रहा हूं – Kostanos

+0

यह [एक खुली समस्या] है (https://github.com/docker/docker/issues/3036)। – kojiro

+0

यह अब स्वीकार्य उत्तर होना चाहिए: http://stackoverflow.com/a/28068308/1725096 –

उत्तर

7

सभी कंटेनरों के पास एक यूनिक नाम है। जब आप docker ps करते हैं तो आप देख सकते हैं कि पहला कॉलम आईडी है। फिर आप इस आईडी के साथ अपने कंटेनर में हेरफेर कर सकते हैं।

आप वास्तव में (आदि .. रोक/शुरू/निरीक्षण /) कंटेनर पर कोई कार्रवाई करने के लिए

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

फिलहाल, डॉकर के भीतर नामकरण करने वाला कोई कंटेनर नहीं है, इसलिए आप कंटेनर का नाम और नाम बदल नहीं सकते हैं, आप केवल इसकी आईडी का उपयोग कर सकते हैं।

भविष्य के संस्करणों में, कंटेनर के लिए नामकरण लागू किया जाएगा।

+2

डॉकर 0.6.5 कंटेनर नामकरण के रूप में लागू किया गया है, लेकिन आप मौजूदा कंटेनर के लिए नाम प्रदान नहीं कर सकते हैं। मुझे संदेह है कि यह लागू नहीं किया जाएगा; बस कंटेनर को रोकें और एक नया नामित उदाहरण चलाएं। –

+2

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

18

मैं डोकर 1.0.1 का उपयोग कर रहा है और निम्न मुझे एक छवि का नाम बदलने की अनुमति देता है:

docker tag 1cf76 myUserName/imageName:0.1.0 
+7

लेकिन एक छवि एक कंटेनर नहीं है। – kojiro

+0

@kojiro सही लेकिन कंटेनरों के पास दोस्ताना नाम कभी नहीं हैं, क्या वे करते हैं? वे हमेशा यादृच्छिक तार होते हैं। तो जवाब शायद "आप नहीं कर सकते - लेकिन आप उन्हें उन छवियों के रूप में सहेज सकते हैं जिन्हें आप दोस्ताना नाम दे सकते हैं"। –

+5

@RobinWinslow उनके पास दोस्ताना नाम हैं। '--name' ध्वज, या 'डॉकर ps' आउटपुट में दाएं कॉलम पर ध्यान दें। – kojiro

33

docker rename आदेश डोकर 1.5 का हिस्सा है। प्रतिबद्ध करने के लिए लिंक: docker github

+0

और पुराने (शायद यादृच्छिक) कंटेनर नाम टाइप करने के बजाय, कोई भी दिए गए कंटेनर आईडी की अनूठी शुरुआत का उपयोग कर सकता है, उदा। 'डॉकर का नाम 646 नया नाम '। –

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