Docker IP 故障转移

标签 docker ip failover

我在正确配置具有 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 容器)。

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

对不起我的英语不好,我尽力做到最好。

最佳答案

这是您的网络:

network diagram

您现在可能只有一个 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/

    相关文章:

    php - 如何限制一分钟内发出的用户请求数

    c - 从 Linux 内核发送 IP 数据包,没有目标 MAC 地址

    java - 负载均衡情况下的 OpenID

    apache-kafka - 如果第一个代理宕机,Kafka 消费者将无法消费

    docker - 如何将Docker Swarm连接到多个领事服务器以进行故障转移?

    debugging - 在 Windows 容器中运行 Visual Studio 远程调试器(由 Docker 管理)

    mysql - 扩展 mysql 镜像的 Docker 镜像未运行 initdb 脚本

    c - unix 套接字 - 无法连接到服务器(连接超时)

    python - 错误: Cannot uninstall 'ruamel-yaml' while creating docker image for azure ML ACI deployment

    docker - WSO2 : how to download products in a Dockerfile?