【发布时间】:2016-09-07 15:12:51
【问题描述】:
我需要运行两个容器,每个容器都包含一个特定(公共)IP(11.11.11.22 和 11.11.11.23)上的脚本绑定
docker 主机本身位于 10.10.10.222。
我的子网是 11.11.11.20/27,我的网关是 11.11.11.21
如果重要的话,我的服务器在 SoftLayer。
docker-compose.yml
version: '2'
services:
nginx-0:
image: nginx:1.10
ports:
- 11.11.11.22:80:80
networks:
app_net:
ipv4_address: 11.11.11.22
nginx-1:
image: nginx:1.10
ports:
- 11.11.11.23:80:80
networks:
app_net:
ipv4_address: 11.11.11.23
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 11.11.11.20/27
gateway: 11.11.11.21
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.22/32 brd 11.11.11.22 scope global eth1:0
valid_lft forever preferred_lft forever
inet 11.11.11.23/32 brd 11.11.11.23 scope global eth1:1
valid_lft forever preferred_lft forever
容器内的ips docker exec nginx-0 ip a
6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 11.11.11.22/27 scope global eth0
valid_lft forever preferred_lft forever
如果我卷曲这两个 IP,我会收到“卷曲:(52) 来自服务器的空回复”
我范围内的任何其他 IP 都将返回“连接失败...”
有什么解决办法吗?
提前致谢! 多米尼克
【问题讨论】:
-
Docker 的默认防火墙规则不允许外部访问容器。暴露的端口用于通过主机的 IP 访问服务。有关详细信息,请参阅networking documentation。
-
但我想绑定到容器内的特定 IP,所以这不是我真正的用例。
标签: networking docker ip