#拉取镜像
docker pull haproxy:2.2
#创建目录,用于存放配置文件
mkdir /home/haproxy
vi haproxy.cfg
#创建容器
docker create --name haproxy --net host -v /home/haproxy:/usr/local/etc/haproxy haproxy:2.2
global
log 127.0.0.1 local2
maxconn 4000
daemon
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
listen admin_stats
bind 0.0.0.0:4001
mode http
stats uri /dbs
stats realm Global\ statistics
stats auth admin:admin
listen proxy-mysql
bind 0.0.0.0:4002
mode tcp
balance roundrobin
option tcplog
server pxc_node1 192.168.1.174:13306 check port 13306 maxconn 2000
server pxc_node2 192.168.1.174:13307 check port 13307 maxconn 2000
server pxc_node3 192.168.1.174:13308 check port 13308 maxconn 2000
listen proxy-redis
bind 0.0.0.0:16379
mode tcp
balance roundrobin
option tcplog
server redis1 192.168.1.174:7001 check port 7001 maxconn 3000
server redis2 192.168.1.174:7002 check port 7002 maxconn 3000
server redis3 192.168.1.174:7003 check port 7003 maxconn 3000
server redis4 192.168.1.174:7004 check port 7004 maxconn 3000
server redis5 192.168.1.174:7005 check port 7005 maxconn 3000
server redis6 192.168.1.174:7006 check port 7006 maxconn 3000
#启动容器
docker restart haproxy && docker logs -f haproxy
启动后 http://192.168.1.174:4001/dbs
连接数据库依然是数据库的登录密码 root/root
最后使用redisdesktop 连接haproxy的16379就是集群所有的
check port 13306 maxconn 2000 可以省略
本文详细介绍了如何从拉取 HAProxy 镜像开始,到创建配置文件,直至配置容器并启动服务的全过程。重点讲解了如何配置 HAProxy 以实现 MySQL 和 Redis 的负载均衡,包括监听设置、服务器节点定义及健康检查参数。
4389

被折叠的 条评论
为什么被折叠?



