docker - Docker容器中的Haproxy不稳定

您好,我在docker容器中遇到haproxy问题。每次当我为高可用性构建docker容器时,它都可以正常工作,但是一段时间后,它会由于出现以下错误而停止工作。

错误:-

.<html><body><h1>503 Service Unavailable</h1>
No server is available to handle this request.
</body></html>

我的 docker 文件:-
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运行:-
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro sb/ha

我有两个服务器服务器,都在ip 172.17.0.3和172.17.0.4的docker中。我不确定为什么它不稳定,请帮忙检查并建议我。

提前致谢。

最佳答案

Docker不对您的容器的IP提供任何保证。如果由于任何原因您的容器崩溃或重新启动,它们的IP将更改,因此您的HAProxy配置已过时并且需要更新。

您可以看一下tutum的haproxy图像,该图像动态地查找容器的地址:https://github.com/tutumcloud/haproxy

https://stackoverflow.com/questions/34628271/

相关文章:

hadoop - 使用HCatLoader进行PIG,Java堆空间错误

hadoop - Pig:访问内部元组的字段进行过滤

jenkins - 无法以非 root 用户身份运行 docker?

amazon-web-services - 我可以安排Docker在特定时间在Amazon ECS上

docker - 是 "docker start"完全恢复由 "docker run"启动的所有正在

makefile - 获取刚刚生成的图像的ID

docker - Docker:对apache虚拟主机进行Docker化

docker - 运行openshift/origin docker时出错:运行 'chcon'来设

logging - Dockerized Kibana外部化日志

docker - 我自己对 boot2docker 的自定义没有反射(reflect)到 iso 镜