我需要运行两个容器,每个容器包含一个特定(公共)IP上的脚本绑定(11.11.11.20和11.11.11.21)。泊坞主机本身位于10.10.10.222。
我写了这个docker-compose.yml
version: '2'
services:
nginx-0:
image: nginx:1.10
networks:
app_net:
ipv4_address: 11.11.11.20
nginx-1:
image: nginx:1.10
networks:
app_net:
ipv4_address: 11.11.11.21
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 11.11.11.20/30
我的模糊ip a
:
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.222/27 brd 10.10.10.223 scope global eth1
valid_lft forever preferred_lft forever
inet 11.11.11.20/32 brd 11.11.11.20 scope global eth1:0
valid_lft forever preferred_lft forever
inet 11.11.11.21/32 brd 11.11.11.21 scope global eth1:1
valid_lft forever preferred_lft forever
但它告诉我地址已在使用
有没有解决办法呢?
提前致谢! 多米尼克
答案 0 :(得分:1)
将地址更改为11.11.11.20/30子网内的有效值:nginx-0和nginx-1应具有地址11.11.11.21和11.11.11.22。地址11.11.11.20无效,因为它是子网地址。
您似乎也在主接口网络10.10.10.222/27之外的桥接接口上使用地址。如果在主网络和辅助网络中都存在具有接口(IP地址)的路由器,则辅助网络中的节点可以仅到达其他IP地址。但是,这在11.11.11.20网络中很难实现,因为此网络中的所有可用地址都被您的nginx服务器占用。对于桥接网络,最简单的解决方案是使用主网络中的地址用于nginx服务器,并在主网络10.10.10.222/27中指定正确的网关地址。相反,您可以使用更大的网络,如11.11.11.20/27,并将nginx服务器和路由器的IP地址放入其中。