डॉक आईपी कंटेनरों की सूची प्राप्त करें


0

मान लीजिए कि मेरे पास डॉकटर है, जो एक्स मात्रा में कंटेनर चला रहा है। क्या किसी तरह सभी कंटेनरों की एक सूची प्राप्त करना संभव है आईपी पते?

मैं इसे किसी तरह स्क्रिप्ट में बांधना चाहता हूं।

docker ps -a:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS               NAMES
614497a23ca7        mongo               "/entrypoint.sh mongo"   7 minutes ago       Up 7 minutes             27017/tcp           some-mongo

मैंने docker api को देखा है और यह वास्तव में ऐसा नहीं लगता है कि मैं क्या देख रहा हूं। मैं इसे उदाहरण के लिए वापस करना चाहूंगा:

172.17.0.2
... other ips addresses

मुझे पता docker inspectहै कि मैं मौजूद हूं और मैं डेटा को पाइप कर सकता हूं और IPAddressक्षेत्र को निकाल सकता हूं , लेकिन यह एक कंटेनर के लिए है। मुझे सभी कंटेनरों के आईपी पते पसंद हैं। क्या यह संभव है?

जवाबों:


1

नीचे के बारे में कैसे?

for i in `docker ps -q`; do echo $i; echo " : "; docker inspect $i | grep -i ipaddress | grep -v null | cut -d ':' -f 2; done

1

यदि आप अपने आईपी पते के द्वारा डॉकटर कंटेनर ढूंढने का प्रयास करना चाहते हैं, तो आप कंटेनर आईडी और उनके आईपी पते को सूचीबद्ध कर सकते हैं:

for container in `docker ps -q`; do ips=`docker inspect $container | grep -i ipaddress | grep -v null | grep -v \"\" | cut -d ':' -f 2`; echo $container$ips; done

आप ऐसा कुछ भी कर सकते हैं (जो कंटेनर आईडी के बजाय कंटेनर नामों को प्रिंट करता है):

docker ps -q | xargs docker inspect --format "{{range .NetworkSettings.Networks}}{{print .IPAddress}} {{end}}{{.Name}}"

यह 13dimitar के उत्तर के समान प्रतीत होता है । यह अलग कैसे है? क्या यह बेहतर है? क्यूं कर? …………………… कृपया टिप्पणियों में प्रतिक्रिया न दें;  इसे स्पष्ट और अधिक पूर्ण बनाने के लिए अपना उत्तर संपादित करें।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.