Ben onların ana bilgisayarları ile aynı LAN adreslenebilir gereken docker kapları bir sürü var. Şimdiye kadar bunu bir köprü kurarak ve IP'leri manuel olarak atayarak ve IP'leri kendim yöneterek başardım. Örnek bir başlangıç şöyle olacaktır:
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]
Ana bilgisayar /etc/network/interfaces
(ubuntu) 'da tanımlanan köprüye sahip olarak :
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
Serf'i keşfettiğimden beri , DHCP'nin IP'leri takip edebilmesi ve bunları konteynerlere dağıtabilmesi için kaplarda otomatik keşif kullanmaya geçmeye çalışıyorum. O zamandan beri başlangıç komutunu şöyle değiştirdim:
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
ve köprü:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Bu konteynerin açılmasına neden oldu, ancak IP'si yoktu. Daha sonra , Fedora ile görüşmeyi başaran çevrimiçi bir gönderiden tavsiye aldım dhclient
. Ne yazık ki bu benim için Ubuntu tabanlı kaplarda çalışmıyor.
Farklı koşullar altında aldığım aşağıdaki hata iletileri şunlardır:
Koşu
dhclient
Ben etkinleştirdiğimde--privileged
konteyner başlayarak:dhclient: error while loading shared libraries: libc.so.6: cannot open shared object file: Permission denied
İçinde
sudo dhclient eth0
değilken çalışıyor--privileged
RTNETLINK answers: Operation not permitted mv: cannot move '/etc/resolv.conf.dhclient-new.31' to '/etc/resolv.conf': Device or resource busy
Çalışıyor
sudo dhclient
veyadhclient
(arabirim belirtilmemiş).Hemen geri döner ve hala IP veya ağ bağlantısı yoktur.
IP'leri izlemeden birden çok ana bilgisayara kapsayıcı dağıtabilmem için docker kapsayıcılarını ana bilgisayarlarıyla aynı alt ağdan dinamik IP'leri nasıl alabilirim?
Fazladan bilgi
- Koşu
DOCKER_OPTS="-e lxc"
içinde/etc/default/docker
- Ev sahibi Ubuntu 14.04
- Docker kapları
from ubuntu:14.04
Dockerfile içinde oluşturulur.