अगर ifconfig उबंटू डॉकटर कंटेनर में उपलब्ध नहीं है?


64

आधार के साथ ubuntu:12.04, ifconfigकंटेनर में उपलब्ध नहीं है, हालांकि ipकमांड उपलब्ध है, यह क्यों है? और, ifconfigकंटेनर में कैसे जाएं ?



मुझे पता है कि ifconfigकिसी तरह वंचित है, लेकिन कुछ कार्यक्रम अभी भी इस पर निर्भर हैं।
पेलेयन

3
क्या डेवलपर्स अभी भी जीवित हैं? इसे सालों पहले हटा दिया गया था।
माइकल हैम्पटन

ipसॉफ्टवेयर के वर्तमान संस्करण में उपयोग करते समय बग है । मुझे समस्या का त्वरित समाधान चाहिए।
पेलेऑन

1
"कुछ कार्यक्रम" और "वहाँ बग है": क्या आप अधिक विशिष्ट हो सकते हैं?
मार्क वैगनर

जवाबों:


95

आप के साथ ifconfig स्थापित कर सकते हैं apt-get install net-tools। (विशेष रूप से, RUN apt-get install -y net-toolsअपने डॉकरफाइल में जोड़कर ।)

मेरे परीक्षण के आधार पर, ifconfig को ubuntu: 14.04 में शामिल किया गया है।


6
फिर भी मुझे आश्चर्य होता है कि इसे डिफ़ॉल्ट रूप से शामिल क्यों नहीं किया गया है, लेकिन मुझे लगता है कि इस कंटेनर की बात यह है कि यह जितना संभव हो उतना कम से कम हो और फिर भी काम कर सके।
इगुआनातुत

5
एक और परिशिष्ट - उबंटू कंटेनर के एक ताजा उदाहरण पर पैकेज सूचियां या तो आबादी नहीं हैं, इसलिए sudo apt-get updateयदि आप पहले से ही नहीं हैं , तो आपको चलना चाहिए ।
इगुआनाउत

1
ifconfigमें शामिल नहीं है ubuntu:16:04
जेम्सथोमसून

11
@Iguananaut का जवाब देने के लिए: एक Ubuntu VM 500+ MB है, जबकि एक Ubuntu Docker छवि 100MB से कम है। कंटेनरों की छवियां बनाने वाले लोगों को एक रेखा खींचने की जरूरत है कि पैकेज / बायनेरी को क्या शामिल किया जाना चाहिए और क्या नहीं, ताकि केवल मूल आवश्यकताएं ही अंदर रहें। तुम्हें पता है, यह सब और अधिक समझ में आता है अगर आपको लगता है कि कंटेनर प्रक्रियाओं के रूप में हैं, न कि एक 'अलग-थलग कंप्यूटिंग पर्यावरण के रूप में अंदर और खेलने के लिए'
रुशी अग्रवाल

13

जब तक और जब तक आप नेट-टूल इंस्टॉल नहीं कर सकते, तब तक इसे डिफ़ॉल्ट रूप से देने की आवश्यकता नहीं है। इसके अलावा अगर आप आईपी एड्रेस देखना चाहते हैं तो एक और कमांड उपलब्ध है जो स्वयं docker द्वारा उपलब्ध है: -

docker inspect <container_name or container_id>

डॉकटर ने वाक्य रचना का निरीक्षण किया :docker inspect [OPTIONS] NAME|ID [NAME|ID...]

यह cmd आपको IP एड्रेस सहित रनिंग कंटेनर के हर विवरण को दिखाएगा।


4

मैं भी इस उपद्रव पर लड़खड़ा गया, लेकिन जैसा कि देवेंद्र ने डॉकटर के निरीक्षण में लिखा है कि आप कंटेनर के बारे में सभी विवरण प्राप्त कर सकते हैं net-tools। मेरे मामले में मुझे कंटेनर के आईपी की आवश्यकता थी। IP का उपयोग करने के लिए आप इसका उपयोग कर सकते हैं:

docker inspect <container-id> \
  | grep "\"IPAddress\"" -m 1 \
  | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

EDIT को कंटेनर का IP प्राप्त करने की छोटी सूचना है (देखें docker निरीक्षण उदाहरण ):

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>

हालांकि यह कंटेनर के अंदर काम नहीं करेगा, जैसा कि ओपी ने अनुरोध किया है।
गेराल्ड श्नाइडर

आप सही हे। बस एक उपयोगी टिप की तरह लग रहा है, और मुझे लगा कि ओपी सबसे अधिक संभावना है कि कंटेनर के आईपी को भी ढूंढ रहा था।
आज्ञा का पालन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.