मेरे पास बहुत सारे डॉकटर कंटेनर हैं जो मुझे उसी मेज पर उनके मेजबानों के समान पते योग्य चाहिए। अब तक, मैं एक पुल की स्थापना और मैन्युअल रूप से उन्हें आईपी असाइन करने , और स्वयं आईपी का प्रबंधन करके इसे प्राप्त कर रहा हूं। एक उदाहरण स्टार्टअप ऐसा होगा:
docker run \
--net="none" \ \
--lxc-conf="lxc.network.type = veth" \
--lxc-conf="lxc.network.ipv4 = 192.168.1.3/24" \
--lxc-conf="lxc.network.ipv4.gateway = 192.168.1.254" \
--lxc-conf="lxc.network.link = br0" \
--lxc-conf="lxc.network.name = eth0" \
--lxc-conf="lxc.network.flags = up" \
-d [Docker Image ID]
इस /etc/network/interfaces
तरह से (ubuntu) में परिभाषित पुल के मेजबान के साथ :
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.254
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
जब से मैंने सर्फ़ की खोज की है , मैं कंटेनरों के भीतर स्वचालित खोज का उपयोग करने के लिए आगे बढ़ने की कोशिश कर रहा हूं, ताकि डीएचसीपी आईपी पर नज़र रख सके और उन्हें कंटेनरों को सौंप सके। मैंने तब से स्टार्टअप कमांड को बदल दिया है:
docker run \
--net="none" \
--lxc-conf="lxc.network.type = veth" \
--lxc-conf="lxc.network.link = br0" \
--lxc-conf="lxc.network.flags = up" \
-d [Docker Image ID]
/bin/bash
और पुल:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
यह कंटेनर शुरू हुआ, लेकिन आईपी नहीं था। मैंने तब एक ऑनलाइन पोस्ट से सलाह ली जो फोन करके फेडोरा के साथ काम करने में कामयाब रहा dhclient
। दुर्भाग्य से यह ubuntu आधारित कंटेनरों के भीतर मेरे लिए काम नहीं कर रहा है।
नीचे विभिन्न परिस्थितियों में मुझे मिलने वाले निम्न त्रुटि संदेश हैं:
कंटेनर को शुरू करने में
dhclient
सक्षम--privileged
होने पर चलना :dhclient: error while loading shared libraries: libc.so.6: cannot open shared object file: Permission denied
sudo dhclient eth0
जब अंदर नहीं चल रहा है--privileged
RTNETLINK answers: Operation not permitted mv: cannot move '/etc/resolv.conf.dhclient-new.31' to '/etc/resolv.conf': Device or resource busy
रनिंग
sudo dhclient
याdhclient
(कोई इंटरफ़ेस निर्दिष्ट नहीं)।तुरंत लौटता है और अभी भी कोई आईपी या नेटवर्क कनेक्टिविटी नहीं है।
मैं अपने होस्ट के रूप में एक ही सबनेट से डायनेमिक आईपी हड़पने के लिए डॉकटर कंटेनर कैसे प्राप्त कर सकता हूं, जैसे कि मैं आईपी को ट्रैक किए बिना कई मेजबानों पर कंटेनर को तैनात कर सकता हूं?
अधिक जानकारी
- में चल रहा
DOCKER_OPTS="-e lxc"
है/etc/default/docker
- होस्ट उबंटू 14.04 है
from ubuntu:14.04
Dockerfile का उपयोग करके Docker कंटेनरों का निर्माण किया जाता है।