डॉकर नेटवर्क से जुड़े पुल का नाम प्राप्त करें - नेटवर्किंग, डॉकर, डॉकर-नेटवर्किंग

मैं "docker network create --d Bridge mynet" का उपयोग करके एक डॉक नेटवर्क बना रहा हूँ। मैं पुल का नाम प्राप्त करना चाहता हूं जो इस डॉक नेटवर्क से जुड़ा हुआ है।

मुझे पता है कि मैं पुल नाम प्रदान करने के लिए "-o" का उपयोग कर सकता हूं।ex: "docker network create --d Bridge -o com.docker.network.bridge.name = mybridge mynet"। यह विधि सामान्य ब्रिज ड्राइवर के साथ काम करेगी लेकिन मेरे मामले में, मैं एक ओवीएस ड्राइवर का उपयोग कर रहा हूं इसलिए मैं "डॉक नेटवर्क नेटवर्क - डी ओवी मायनेट" के रूप में नेटवर्क शुरू कर रहा हूं। अगर मैं ओवर्स ड्राइवर के मामले में "-ओ" का उपयोग करता हूं तो यह काम नहीं करता है।

please suggest me a way to get the bridge name एक नेटवर्क से जुड़ा है। नेटवर्क बनाते समय जो नया ब्रिज बनाया जा रहा है, उसके साथ जो ब्रिज बनाया गया है, उसमें रैंडम नाम है और मैं इसे "ifconfig" कमांड का उपयोग करके देख सकता हूं।

उत्तर:

जवाब के लिए 0 № 1

ब्रिज नाम का हिस्सा नहीं है docker network inspect आउटपुट, लेकिन यह हमेशा होता है br-<first 12 characters of network id> (जब तक नेटवर्क बनाते समय स्पष्ट रूप से निर्दिष्ट नहीं किया जाता है -o com.docker.network.bridge.name=<bridge name>)।

network_id=$(docker network inspect -f {{.Id}} <network name>)
bridge_name="br-${brige_name:0:12}"

एक अन्य विकल्प इस तथ्य पर भरोसा करना है कि पुल नेटवर्क के डिफ़ॉल्ट गेटवे के रूप में कार्य करता है और इसलिए इसका आईपी पता और नेटवर्क का गेटवे पता समान है।

network_gateway=$(docker inspect 
-f "{{range .IPAM.Config}}{{.Gateway}}{{end}}" <network name>)
bridge_name=$(ifconfig | grep -B1 "inet $network_gateway" | head -1 | cut -d: -f1)

संबंधित सवाल
सबसे लोकप्रिय