我在docker容器中面临haproxy的问题。每当我为HA构建我的docker容器时,它都能正常工作,但过了一段时间它会因为给出以下错误而停止工作。
错误: -
.<html><body><h1>503 Service Unavailable</h1>
No server is available to handle this request.
</body></html>
我的泊坞文件: -
FROM centos
ENV container docker
RUN yum -y update
RUN yum install -y passwd
RUN echo root | passwd --stdin root
RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
RUN yum install -y net-tools
RUN yum install -y lsof
EXPOSE 80
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
我的haproxy文件: -
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend main *:80
default_backend app
backend app
balance roundrobin
server www1 172.17.0.3:80 check
server www2 172.17.0.4:80 check
Docker Run: -
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro sb/ha
我有两个appache服务器,两个都在docker中,ip 172.17.0.3和172.17.0.4。我不确定为什么它不稳定,请帮忙检查并建议我..
提前致谢。
答案 0 :(得分:1)
Docker不对您的容器的IP提供任何保证。如果由于任何原因您的容器崩溃或重新启动,它们的IP将会更改,因此您的HAProxy配置将变得过时并需要更新。
您可以查看tutum的haproxy图片,动态查找容器的地址:https://github.com/tutumcloud/haproxy