2015-10-25 13 views
5

के बीच पीआईडी ​​मैपिंग होस्ट नामस्थान से डॉकर नेमस्पेस कितना अलग है और इन दोनों के बीच पिड कैसे मैप किया जा सकता है? क्या कोई मुझे एक ऐसा विचार दे सकता है जो स्रोत कोड का उपयोग कर मेजबान एन डॉकर के बीच मैपिंग मैड का आसान तरीका बनाने में मदद करता है?डॉकर और होस्ट

उत्तर

5

मैं "Running docker securely" में उल्लेख किया है:

वर्तमान में, डोकर पाँच नामस्थान का उपयोग करता है प्रणाली की प्रक्रिया को देखने को बदलने के लिए: प्रक्रिया, नेटवर्क, माउंट, होस्टनाम, साझा मेमोरी।

तथ्य यह है कि, डिफ़ॉल्ट रूप से, जैसा कि मैंने अपने पिछले प्रश्न में उल्लेख किया है "Docker Namespace in kernel level" कंटेनर पीआईडी ​​मेजबान से अलग हैं (जब तक आप उन्हें --pid host के साथ चलाने) डिजाइन कर रहा है।

यदि आप --pid=host का उपयोग कर रहे हैं, तो उन कंटेनर पिड्स मेजबान से दिखाई दे रहे हैं, लेकिन आसानी से किसी विशेष कंटेनर से मेल नहीं खाते हैं, जब तक कि issue 10163 and --pid=container:id हल नहीं हो जाता है।

अद्यतन मई 2016: issue 10163 and --pid=container:id वास्तव में डॉकर 1.12 के लिए PR 22481 द्वारा हल किया गया है, जो किसी अन्य कंटेनर के पीआईडी ​​नेमस्पेस में शामिल होने की अनुमति देता है।

+0

यदि मैं डॉकर कंटेनर के अंदर कुछ खोल स्क्रिप्ट चलाता हूं और कुछ सिस्कोल कहता है, तो वह समय होस्ट या डॉकर प्रक्रिया पिड के पिड को पास करेगा? कृपया –

+0

@SowndaryaK की सहायता करें यदि आप --pid = होस्ट का उपयोग कर रहे हैं, तो डॉकर कंटेनर में प्रक्रिया का पिड होस्ट पिड नेमस्पेस का हिस्सा होगा। – VonC

3

आप /proc/PID/status फ़ाइल में मानचित्रण पा सकते हैं।

NSpid: 16950 24 

जिसका मतलब है कि 16950 मेजबान पर 24 कंटेनर के अंदर है: यह की तरह एक पंक्ति है।

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