我在正确配置具有 ip 故障转移的 docker 容器时遇到了一些问题。
我在系统管理员方面不是很好,但我已经正确配置了我的 ip 故障转移,我想将他与我的 docker 容器绑定(bind)。
我不知道该怎么做,我找不到任何解释这一点的资源。
当我从 web 访问我的主 ip(服务器 Debian 195.x.x.x)时,我可以看到他运行(apache2 默认页面),当我从 web 访问 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 主机,除了它们的主网络接口(interface)的 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 , 你将能够:
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
至主持人乙 , 你将能够: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
查询您的 Web 服务器,这一点很重要。和 192.0.0.47
无论 IP 故障转移设置如何,至少用于测试 Web 服务器的 IP 地址都已在两台主机上启动并运行。
关于Docker IP 故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734199/