泊坞窗。从与Host相同的范围分配IP [英] Docker. Assign IP from the same range as Host

查看:259
本文介绍了泊坞窗。从与Host相同的范围分配IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在和码头工作。现在我想从主机操作系统所在的IP范围分配IP到容器。



我的主机有IP地址 192.168.1.50 192.168.1.0/24网络)。而且我想从Docker容器的同一个网络中使用192.168.1.51。



为此,我已经安装了bridge-utils(我正在使用Ubuntu 14.04)并重新配置了我的界面:

  auto lo 
iface lo inet loopback

#主要网络接口
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
地址192.168.1.50
网络192.168.1.0
网络掩码255.255.255.0
广播192.168.0.255
网关192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

现在我有这样的配置:

 #ip a 
1:lo:< LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue状态UNKNOWN组默认
link / loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
valid_lft永远preferred_lft永远
inet6 :: 1/128范围主机
valid_lft永远preferred_lft永远
2:eth0:< BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0状态UP组默认qlen 1000
link / ether 08:00:27:a5:22:5d brd ff:ff:ff:ff:ff:ff
3:docker0: < NO-CARRIER,广播,多播,UP> mtu 1500 qdisc noqueue state DOWN group default
link / ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
inet 172.17.42.1/16 scope global docker0
valid_lft永远preferred_lft永远
inet6 fe80 :: 5484:7aff:fefe:9799/64范围链接
valid_lft永远preferred_lft永远
4:br0:< BROADCAST,MULTICAST, UP,LOWER_UP> mtu 1500 qdisc noqueue state UP组默认
link / ether 08:00:27:a5:22:5d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168 .0.255范围全局br0
valid_lft永远preferred_lft永远
inet6 fe80 :: a00:27ff:fea5:225d / 64范围链接
valid_lft永远preferred_lft永远

如何使用与主机相同的IP范围192.168.1.0/24的IP来创建每个新的码头服务器?如何为每个新的docker容器指定使用 br0 界面?

解决方案

Docker不能那。它只能通过自己的决定来设置IP。


I am playing with docker. Now I want to assign IP to container from the same IPs range as my host OS has.

My Host has IP address 192.168.1.50 (192.168.1.0/24 network). And I want to use for example 192.168.1.51 from the same network for Docker container.

For this I`ve installed bridge-utils (I am using Ubuntu 14.04) and reconfigured my interfaces:

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.1.50
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

Now I have such configuration:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 08:00:27:a5:22:5d brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
    inet 172.17.42.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::5484:7aff:fefe:9799/64 scope link 
       valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 08:00:27:a5:22:5d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.50/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fea5:225d/64 scope link 
       valid_lft forever preferred_lft forever

How to create every new dockers with IPs from the same IP-range 192.168.1.0/24 as Host machine? How to specify for every new docker container to use br0 interface?

解决方案

Docker can't do that. It can set IPs only by own decision.

这篇关于泊坞窗。从与Host相同的范围分配IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆