我有一些图像,我正在管理的对接-撰写,我需要在一个不同于主机(运行Ubuntu 16)的网络中运行它们。
主机具有IP 10.0.1.19/24和网关10.0.1.1。
这是我的船坞-合成人. This:
version: '2'
services:
db:
...
networks:
ab-net:
ipv4_address: 10.1.2.250
...
app:
...
networks:
ab-net:
ipv4_address: 10.1.2.11
...
networks:
ab-net:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.1.2.0/23
gateway: 10.1.2.1防火墙(我无法控制,不能更改)允许通过容器的网关10.1.2.1 (即防火墙本身)直接进入10.1.2.0/23,而不是主机。
在运行带有该配置的容器时,docker使用IP 10.1.2.1在主机上配置一个br接口;因此,在网络上有两台具有相同IP的机器:主机和防火墙/网关。
容器可以访问互联网,它们可以相互看到,并且从主机上我可以连接到容器。
我怎样才能让这个场景奏效呢?在这个阶段,如果可能的话,我宁愿不使用任何编排工具。
发布于 2016-10-09 13:05:25
我发现唯一的选择就是使用(目前的)实验特性"Ipvlan网络“。
Linux实现非常轻量级,因为它们不是使用传统的Linux桥进行隔离,而是简单地与Linux以太网接口或子接口相关联,以实现网络之间的隔离和与物理网络的连接。
文档相当大,不能在这里复制,但是我必须运行以下命令才能实现:
echo 8021q >> /etc/modules
modprobe 8021q
apt-get install vlan
edit /etc/network/interfaces
auto eth1.2320
iface eth1.2320 inet manual
vlan-raw-device eth1
auto eth1.2321
iface eth1.2321 inet manual
vlan-raw-device eth1
auto eth1.2322
iface eth1.2322 inet manual
vlan-raw-device eth1
auto eth1.2323
iface eth1.2323 inet manual
vlan-raw-device eth1
auto eth1.2324
iface eth1.2324 inet manual
vlan-raw-device eth1
/etc/init.d/networking restart发布于 2016-10-05 10:29:25
无法设置不同的网络外置码头NAT。
https://stackoverflow.com/questions/39871228
复制相似问题