Docker Ip故障转移

时间:2016-01-12 01:35:32

标签: docker ip failover

我通过ip故障转移正确配置docker容器时遇到了一些问题。

我在系统管理员方面不太好,但我已经正确配置了我的ip故障转移,我想用他的docker容器绑定他。

我不知道该怎么做,我找不到任何解释这一点的资源。

当我从网上访问我的主ip(服务器Debian 195.xxx)时,我可以看到他运行(apache2默认页面),当我从网络上进行ip故障转移时,我也看到了apache2默认页面)我的Debian服务器,此时我认为没关系。

所以,当我跑:

docker run -d --name ubuntu_01 -p 62.x.x.x:9000:80 abdev/ubuntu tail -f /dev/null

62.xxx是我的ip故障转移,之后我从网上进行ip故障转移,但又有我的默认页面(apache2 Debian,而不是Ubuntu,这是我的docker容器)。

我误解了什么?欢迎任何资源,线索或帮助。

抱歉我的英语不好,我尽力做到最好。

2 个答案:

答案 0 :(得分:3)

这是你的网络:

network diagram

您现在可能只有一个Docker主机,但具有 IP故障转移的目的是能够将流量切换到其他主机,而无需用户更改目标IP地址。 / p>

假设你有2个相同的docker主机,除了主网络接口的IP地址(eth0)。

您希望在两台主机上运行docker容器,并且希望容器内运行的apache Web服务器能够回答每台主机的2个IP地址。

docker host A 上,使用docker run -p 9000:80 ...启动泊坞窗容器。

docker host B 上,也可以使用docker run -p 9000:80 ...启动泊坞窗容器。

现在,在您的托管服务提供商管理面板上,您将IP故障转移62.1.2.3分配给主机A ,您将能够:

  • 使用http://62.1.2.3:9000/
  • 查询主机 A Web服务器
  • 查询主机具有http://192.0.0.17:9000/
  • 的网络服务器
  • 使用http://192.0.0.47:9000/
  • 查询主机B网络服务器

稍后,当您在托管服务提供商管理面板上,将IP故障转移62.1.2.3分配给主机B 时,您将能够:

  • 使用http://62.1.2.3:9000/
  • 查询主机 B 网络服务器
  • 查询主机具有http://192.0.0.17:9000/
  • 的网络服务器
  • 使用http://192.0.0.47:9000/
  • 查询主机B网络服务器

至少,您还可以使用192.0.0.17192.0.0.47 IP地址查询您的Web服务器,以测试两台主机上的Web服务器是否正常运行,无论IP故障转移设置如何。

答案 1 :(得分:1)

非常感谢@thomasleveil回答我的问题。

我原以为它本来会更复杂但最终我做到了。

对于简历,我设置了我的IPFO:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 195.x.x.x
    netmask 255.255.255.0
    gateway 195.x.x.x

auto eth0:0
    iface eth0:0 inet static
    address 62.x.x.x
    netmask 255.255.255.255

使用以下命令运行我的容器:

$ docker run -it --name ubuntu_01 -p 9000:80 docker/box tail -f /dev/null

我可以从主服务器IP和IPFO访问我的容器。

我认为这是一个基本的配置,但它的工作!

我想投票给你答案,但stackoverflow禁止新成员投票。

再次感谢您的时间:)