Haproxy负载均衡
Haproxy负载均衡
参考资料
- https://www.haproxy.com/blog/how-to-run-haproxy-with-docker (复现成功,但使用的是Haproxy-alpine镜像)
- https://hub.docker.com/_/haproxy/ (Haproxy官方镜像)
- https://blog.csdn.net/xiaojin21cen/article/details/103873423 (Haproxy参数介绍) ## 踩坑
- 在docker run构建容器时, 若后面加上bash参数, 容器不会退出, 但是容器内的Haproxy服务会自动退出
- 对docker网络理解不深, 多个容器使用默认网络时不会提供DNS解析服务 ##
容器构建步骤(方式一) ### 自定义Docker网络 ### 构建Web服务1 docker network create --driver=bridge mynetwork注意: 由于多个容器已经指明了自定义网络, 这里的容器名可以根据Docker的DNS解析服务解析到对应的容器IP ### 构建Haproxy配置文件1 
 2
 3docker run -d --name web1 --net mynetwork nginx
 docker run -d --name web2 --net mynetwork nginx
 docker run -d --name web3 --net mynetwork nginx### 构建Dockerfile1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19global
 daemon
 maxconn 256
 defaults
 mode tcp
 timeout connect 5000ms
 timeout client 50000ms
 timeout server 50000ms
 frontend ft_web
 bind *:8000
 default_backend bk_web
 backend bk_web
 balance roundrobin
 server server1 web1:80 check
 server server2 web2:80 check
 server server3 web3:80 check### 构建自定义的Haproxy镜像和容器1 
 2FROM haproxy:latest
 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg### 最终效果1 
 2docker build -t my-haproxy-image .
 docker run -d --name my-haproxy-container -p 8000:8000 --net mynetwork my-haproxy-image 

容器构建步骤(方式二)
构建docker-compose.yml文件
| 1 |  | 
构建haproxy.cfg文件
| 1 |  | 
运行容器群
| 1 |  | 
最终效果



Haproxy负载均衡
      https://d4wnnn.github.io/2023/07/21/Others/Haproxy负载均衡/