欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > docker搭建haproxy实现负载均衡

docker搭建haproxy实现负载均衡

2026/3/7 14:51:52 来源:https://blog.csdn.net/huaz_md/article/details/144411608  浏览:    关键词:docker搭建haproxy实现负载均衡

华子目录

  • 获取`haproxy镜像`
  • 建立`haproxy容器`的`数据卷`
  • 获取`haproxy`的`配置文件`
  • 编写`yaml文件`
  • 运行
  • 测试

获取haproxy镜像

[root@docker-node1 ~]# docker pull haproxy:2.3

建立haproxy容器数据卷

  • conf目录数据卷
[root@docker-node1 ~]# mkdir /var/lib/docker/volumes/conf/

获取haproxy配置文件

[root@docker-node1 ~]# yum install haproxy -y --downloadonly --downloaddir=/mnt[root@docker-node1 ~]# cd /mnt/[root@docker-node1 mnt]# rpm2cpio haproxy-2.4.17-3.el9.x86_64.rpm | cpio -id[root@docker-node1 mnt]# ls
etc  haproxy-2.4.17-3.el9.x86_64.rpm  usr  var
  • 配置文件cpconf数据卷
[root@docker-node1 mnt]# cd etc/haproxy/
[root@docker-node1 haproxy]# cp haproxy.cfg /var/lib/docker/volumes/conf/
  • 修改配置文件
[root@docker-node1 haproxy]# cd /var/lib/docker/volumes/conf/
[root@docker-node1 conf]# vim haproxy.cfg

在这里插入图片描述

编写yaml文件

[root@docker-node1 ~]# cd huazi/
[root@docker-node1 huazi]# vim haproxy.yml
services:web1:image: nginx:1.23container_name: webserver1restart: alwaysexpose:- 80volumes:- data_web1:/usr/share/nginx/htmlnetworks:- internelweb2:image: nginx:1.23container_name: webserver2restart: alwaysexpose:- 80volumes:- data_web2:/usr/share/nginx/htmlnetworks:- internelhaproxy:image: haproxy:2.3container_name: haproxyrestart: alwaysports:- "80:80"volumes:- /var/lib/docker/volumes/conf/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfgnetworks:- internel- externelnetworks:internel:driver: bridgeexternel:driver: bridgevolumes:data_web1:name: data_web1data_web2:name: data_web2

运行

[root@docker-node1 huazi]# docker compose -f haproxy.yml up -d
[root@docker-node1 huazi]# docker compose -f haproxy.yml ps
NAME         IMAGE         COMMAND                   SERVICE   CREATED        STATUS                                                                                                                  PORTS
haproxy      haproxy:2.3   "docker-entrypoint.s…"   haproxy   13 hours ago   Up 13 hours   0                                                                                                          .0.0.0:80->80/tcp, :::80->80/tcp
webserver1   nginx:1.23    "/docker-entrypoint.…"   web1      13 hours ago   Up 13 hours   8                                                                                                          0/tcp
webserver2   nginx:1.23    "/docker-entrypoint.…"   web2      13 hours ago   Up 13 hours   8                                                                                                          0/tcp

测试

  • 建立测试网页
[root@docker-node1 huazi]# echo webserver1 > /var/lib/docker/volumes/data_web1/_data/index.html
[root@docker-node1 huazi]# echo webserver2 > /var/lib/docker/volumes/data_web2/_data/index.html
[root@docker-node1 huazi]# curl 172.25.254.100
webserver1
[root@docker-node1 huazi]# curl 172.25.254.100
webserver2

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词