将不同的公有IP分配给不同的Docker容器
我需要运行两个容器,每个容器包含一个绑定在特定(公共)IP(11.11.11.20和11.11.11.21)上的脚本。docker主机本身位于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
但它告诉我地址已经在使用
有没有解决scheme来做到这一点?
提前致谢! 多米尼克
将地址更改为11.11.11.20/30子网内的有效值:nginx-0和nginx-1应具有地址11.11.11.21和11.11.11.22。 地址11.11.11.20无效,因为它是子网地址。
您似乎也使用主接口networking10.10.10.222/27之外的桥接接口上的地址。 如果主networking和次networking中都有接口(IP地址)的路由器,则辅助networking中的节点只能到达其他IP地址。 但是,11.11.11.20networking很难实现,因为这个networking中所有可用的地址都被你的nginx服务器占用。 对于桥接networking,最简单的解决scheme是使用主networking中的地址作为nginx服务器,并在主networking10.10.10.222/27中指定正确的网关地址。 相反,您可以使用更大的networking,如11.11.11.20/27,并将nginx服务器和路由器的IP地址放入其中。
- 使用尤里卡,尽pipe有docker集装箱随机外部端口
- Docker RUN apt-get -y update && apt-get install -y fortune
- 通过标签无法看到安全registry的docker图像
- 如何卸载docker-compose?
- 解决docker问题 – 编写不同的客户端服务器会导致新的错误,说明降级Docker SDK for Python的版本
- Docker客户端无法连接到Windows 7上的VM上的Docker主机
- 如何基于Node和Java制作定制的Docker镜像?
- Mesos + Docker,我会自动获得Mesos HA的好处吗?
- Windows Server 2016 Dockerfile安装服务