在EC2上设置4个IP地址和2个接口的容器

我正在尝试在4个IP和2个接口的系统中设置4个容器(带有nginx)。 有人可以帮帮我吗? 目前只有3个容器可供使用。 尝试从浏览器访问而不是显示欢迎页面时,第四个是超时。 我给了需要的ip路由

主机是Ubuntu。

所以当发生这种情况时,我认为这与ip路由有关。 因此,在同一个系统中,我安装了apache,并创build了4个虚拟主机,每个主机监听不同的IP和不同的文档路由。

检查时,所有的IP都可以访问,并显示正确的文件。

所以现在我卡住了,现在我该怎么办!

组态:

4个IP和2个接口。 所以我创build了2个IP别名。 所有的IP都由/ etc / network / interfacesconfiguration,除了第一个。 eth0被设置为dhcp模式。

auto eth0:1 iface eth0:1 inet static address 172.31.118.182 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 172.31.119.23 netmask 255.255.255.0 auto eth1:1 iface eth1:1 inet static address 172.31.119.11 netmask 255.255.255.0 

它是这样的。 IP是私有IP地址,所以我想这里没有问题。

 eth0 - 172.31.118.249 eth0:1 - 172.31.118.182 eth1 - 172.31.119.23 eth1:1 - 172.31.119.11 

现在docker的创build命令All只是基本的nginx容器,所以在工作时会显示默认的nginx页面。

 sudo docker create -i -t -p 172.31.118.249:80:80 --name web1 web_fresh sudo docker create -i -t -p 172.31.118.182:80:80 --name web2 web_fresh sudo docker create -i -t -p 172.31.119.23:80:80 --name web3 web_fresh sudo docker create -i -t -p 172.31.119.11:80:80 --name web4 web_fresh sudo docker start web1 sudo docker start web2 sudo docker start web3 sudo docker start web4 

现在这里web1&web2变得可以立即访问。 但是在eth1和eth1:1上运行的容器不是。 所以我认为iproutes必须是问题,并继续增加一些路线。

 ip route add 172.31.119.0/24 dev eth1 src 172.31.119.23 table eth1 ip route add default via 172.31.119.1 table eth1 ip route add 172.31.119.0/24 dev eth1 src 172.31.119.11 table eth11 ip route add default via 172.31.119.1 table eth11 ip rule add from 172.31.119.23 lookup eth1 prio 1002 ip rule add from 172.31.119.11 lookup eth11 prio 1003 

这使得web3也可以访问。 但不是来自eth1:1那个。 所以这里是我现在卡在哪里。