docker-compose搭建HAProxy容器

安装docker-compose

本文在阿里云centos7运行顺利

执行安装命令

#这个是加速链接 比github快跟多
#如果想要修改版本就修改那个`1.27.4`
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

授予docker-compose权限

sudo chmod +x /usr/local/bin/docker-compose

Done

创建docker-compose.yml文件

docker-compose.yml

version: "3.9"
services:
  haproxy:
    image: haproxy:latest
    container_name: haproxy
    volumes:
        - /home/testcompose/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg # haproxy的配置文件路径
    ports:
        - "6666:6666"  # 端口转换
        - "8077:8077"
    expose:
        - 6666   # haproxy对外暴露的端口
        - 8077
    privileged: true

因为我下载是最新版本的docker-compose,版本为3.9

在配置中container_name 是创建的容器名字

volumes 容器卷挂载haproxy.cfg文件
根据上述配置所以我需要在本机的home目录下创建一个testcompose文件夹,然后将HA的配置文件haproxy.cfg放入testcompose文件夹下

端口映射的这两个端口是haproxy.cfg里的管理端口和控制端口

创建haproxy.cfg文件

haproxy.cfg


global
 log 127.0.0.1 local0
 maxconn 4096

defaults
 log global
 mode tcp
 option abortonclose
 option redispatch
 retries 3
 maxconn 2000
 timeout connect 5000ms
 timeout client 50000ms
 timeout server 50000ms
listen proxy_status
bind :8077
 mode tcp
 balance roundrobin
 server mycat_1 172.24.7.187:8066 check inter 10s
 server mycat_2 172.24.7.187:8067 check inter 10s
frontend admin_stats
bind :8888
 mode http
 stats enable
 option httplog
 maxconn 10
 stats refresh 30s
 stats uri /admin
 stats auth admin:123123
 stats hide-version
 stats admin if TRUE

运行docker-compose

在docker-compose.yml 文件目录下执行

docker-compose up -d

如果运行docker-compose失败

如果启动失败的话,docker ps中是没有haproxy容器的
思路 查看失败容器ID,查看他的日志,来进行进一步的判断(大多是配置文件的问题)

#显示所有的容器,这个时候能看到没启动成功容器
docker  ps -a
#找到没成功容器对应的容器ID,查看日志
docker logs 容器ID/容器名字

进入HAProxy管理界面

登录的账号密码在haproxy.cfg下



成功了!

posted @ 2021-01-13 17:32  颜值六毛六  阅读(748)  评论(0编辑  收藏  举报