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下
成功了!