我想练习在一台机器上使用多个 Docker 容器创建高可用的 Web 应用程序。
我在 Docker 容器中启动了多个 Web 服务器。比如说,三台服务器rest1
和rest2
。rest3
我将 Docker 与 HAProxy 平衡器结合使用,该平衡器绑定到服务器127.0.0.1:80
并将查询路由到rest
服务器。这使我可以确定,当一两台rest
服务器发生故障时,我将能够进行查询127.0.0.1:80
并收到正确的结果。
坏事是:当 HAProxy 关闭时,Web 应用程序也会关闭。
我想使用多个 HAProxy Docker 容器,每个容器中都带有 Keepalived 服务。问题是:我需要几个Docker容器来监听一个IP和一个PORT。例如,我将拥有haproxy1
和,它将通过 Keepalivedhaproxy2
绑定到。localhost
当我在 HAProxy 配置文件中设置 IP(不是当前 Docker 容器的 IP)时,它显示一个错误,HAProxy 无法侦听此 IP 和端口。
是否可以使用HAProxy和Keepalived配置多个Docker容器来监听一个IP和PORT?
HAProxy的配置:
defaults
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
mode http
bind 172.17.0.10:80
default_backend BACKEND
backend BACKEND
option httpchk
server rest1 …
Run Code Online (Sandbox Code Playgroud)