Docker IP 故障转移
Docker Ip Failover
我在正确配置具有 ip 故障转移的 docker 容器时遇到了一些问题。
我不太擅长系统管理,但我已经正确配置了我的 ip 故障转移,我想将他与我的 docker 容器绑定。
我不知道该怎么做,我找不到任何可以解释这一点的资源。
当我从网络访问我的主 IP(服务器 Debian 195.x.x.x)时,我可以看到他 运行(apache2 默认页面),当我从网络访问 ip 故障转移时,我另请参阅我的 Debian 服务器的 apache2 默认页面),此时我认为没问题。
所以,当我 运行 :
docker run -d --name ubuntu_01 -p 62.x.x.x:9000:80 abdev/ubuntu tail -f /dev/null
62.x.x.x 这是我的 ip 故障转移,之后我从 web 转到 ip 故障转移,但又是我的默认页面(apache2 Debian,而不是 Ubuntu 这是我的 docker容器)。
我误解了什么?欢迎任何资源、线索或帮助。
抱歉我的英语不好,我尽力了。
这是您的网络:
您现在可能只有一台 Docker 主机,但是进行 IP 故障转移 的目的是能够将流量切换到另一台主机而无需让用户更改目标 IP 地址。
假设您有 2 台 docker 主机,除了它们的主网络接口的 IP 地址 (eth0
) 外,它们完全相同。
您想 运行 两台主机上的 docker 容器,并且您希望容器内的 Apache Web 服务器 运行 响应每台主机的 2 个 IP 地址。
在 docker 主机 A 上,用 docker run -p 9000:80 ...
.
启动你的 docker 容器
在 docker 主机 B 上,也用 docker run -p 9000:80 ...
.
启动你的 docker 容器
现在,在您的托管服务提供商管理面板上,您将 IP 故障转移 62.1.2.3
分配给 主机 A,您将能够:
- 查询主机 A 网络服务器
http://62.1.2.3:9000/
- 查询主机
http://192.0.0.17:9000/
的 Web 服务器
- 使用
http://192.0.0.47:9000/
查询主机 B 的 Web 服务器
稍后,在您的托管服务提供商管理面板上,您将 IP 故障转移 62.1.2.3
分配给 主机 B,您将能够:
- 查询主机 B Web 服务器
http://62.1.2.3:9000/
- 查询主机
http://192.0.0.17:9000/
的 Web 服务器
- 使用
http://192.0.0.47:9000/
查询主机 B 的 Web 服务器
重要的是您还可以使用 192.0.0.17
和 192.0.0.47
IP 地址查询您的 Web 服务器,至少要测试 Web 服务器是否已启动并且 运行ning 在两台主机上,无论 IP 故障转移设置如何。
非常感谢@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 从 Web 访问我的容器。
我认为这是一个基本配置,但它确实有效!
我想对你的答案投赞成票,但 Whosebug 禁止新成员投赞成票。
再次感谢您的宝贵时间:)
我在正确配置具有 ip 故障转移的 docker 容器时遇到了一些问题。
我不太擅长系统管理,但我已经正确配置了我的 ip 故障转移,我想将他与我的 docker 容器绑定。
我不知道该怎么做,我找不到任何可以解释这一点的资源。
当我从网络访问我的主 IP(服务器 Debian 195.x.x.x)时,我可以看到他 运行(apache2 默认页面),当我从网络访问 ip 故障转移时,我另请参阅我的 Debian 服务器的 apache2 默认页面),此时我认为没问题。
所以,当我 运行 :
docker run -d --name ubuntu_01 -p 62.x.x.x:9000:80 abdev/ubuntu tail -f /dev/null
62.x.x.x 这是我的 ip 故障转移,之后我从 web 转到 ip 故障转移,但又是我的默认页面(apache2 Debian,而不是 Ubuntu 这是我的 docker容器)。
我误解了什么?欢迎任何资源、线索或帮助。
抱歉我的英语不好,我尽力了。
这是您的网络:
您现在可能只有一台 Docker 主机,但是进行 IP 故障转移 的目的是能够将流量切换到另一台主机而无需让用户更改目标 IP 地址。
假设您有 2 台 docker 主机,除了它们的主网络接口的 IP 地址 (eth0
) 外,它们完全相同。
您想 运行 两台主机上的 docker 容器,并且您希望容器内的 Apache Web 服务器 运行 响应每台主机的 2 个 IP 地址。
在 docker 主机 A 上,用 docker run -p 9000:80 ...
.
在 docker 主机 B 上,也用 docker run -p 9000:80 ...
.
现在,在您的托管服务提供商管理面板上,您将 IP 故障转移 62.1.2.3
分配给 主机 A,您将能够:
- 查询主机 A 网络服务器
http://62.1.2.3:9000/
- 查询主机
http://192.0.0.17:9000/
的 Web 服务器
- 使用
http://192.0.0.47:9000/
查询主机 B 的 Web 服务器
稍后,在您的托管服务提供商管理面板上,您将 IP 故障转移 62.1.2.3
分配给 主机 B,您将能够:
- 查询主机 B Web 服务器
http://62.1.2.3:9000/
- 查询主机
http://192.0.0.17:9000/
的 Web 服务器
- 使用
http://192.0.0.47:9000/
查询主机 B 的 Web 服务器
重要的是您还可以使用 192.0.0.17
和 192.0.0.47
IP 地址查询您的 Web 服务器,至少要测试 Web 服务器是否已启动并且 运行ning 在两台主机上,无论 IP 故障转移设置如何。
非常感谢@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 从 Web 访问我的容器。
我认为这是一个基本配置,但它确实有效!
我想对你的答案投赞成票,但 Whosebug 禁止新成员投赞成票。
再次感谢您的宝贵时间:)