您好,我在docker容器中遇到haproxy问题。每次当我为高可用性构建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"]
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 --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro sb/ha
最佳答案
Docker不对您的容器的IP提供任何保证。如果由于任何原因您的容器崩溃或重新启动,它们的IP将更改,因此您的HAProxy配置已过时并且需要更新。
您可以看一下tutum的haproxy图像,该图像动态地查找容器的地址:https://github.com/tutumcloud/haproxy
https://stackoverflow.com/questions/34628271/
相关文章:
hadoop - 使用HCatLoader进行PIG,Java堆空间错误
jenkins - 无法以非 root 用户身份运行 docker?
amazon-web-services - 我可以安排Docker在特定时间在Amazon ECS上
docker - 是 "docker start"完全恢复由 "docker run"启动的所有正在
docker - Docker:对apache虚拟主机进行Docker化
docker - 运行openshift/origin docker时出错:运行 'chcon'来设