docker 容器中的 Haproxy 不稳定
Haproxy in docker container unstable
嗨,我在 docker 容器中遇到 haproxy 问题。每次我为 HA 构建 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"]
我的 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 运行 :-
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。不知道为什么不稳定,请帮我看看,建议一下..
提前致谢。
Docker 不对您容器的 IP 提供任何保证。如果由于任何原因您的容器崩溃或重新启动,它们的 IP 将发生变化,因此您的 HAProxy 配置将变得过时并需要更新。
你可以看一下动态查找容器地址的 tutum 的 haproxy 镜像:https://github.com/tutumcloud/haproxy
嗨,我在 docker 容器中遇到 haproxy 问题。每次我为 HA 构建 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"]
我的 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 运行 :-
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。不知道为什么不稳定,请帮我看看,建议一下..
提前致谢。
Docker 不对您容器的 IP 提供任何保证。如果由于任何原因您的容器崩溃或重新启动,它们的 IP 将发生变化,因此您的 HAProxy 配置将变得过时并需要更新。
你可以看一下动态查找容器地址的 tutum 的 haproxy 镜像:https://github.com/tutumcloud/haproxy