7.3 KiB
image, description, source, canonical, exported_at
| image | description | source | canonical | exported_at |
|---|---|---|---|---|
| haproxytech/haproxy-alpine | HAProxy社区版Docker镜像,基于Alpine Linux构建,提供高性能负载均衡与反向代理功能,适用于构建轻量级、高可用的Web服务或应用集群。 | https://xuanyuan.cloud/zh/r/haproxytech/haproxy-alpine | https://xuanyuan.cloud/zh/r/haproxytech/haproxy-alpine | 2026-07-12T16:36:12.930Z |
轩辕镜像中文简介(在线版): haproxytech/haproxy-alpine 中文简介
含镜像标签、拉取命令、部署文档与相关推荐。
HAProxy CE Docker Alpine 镜像文档
支持的标签及对应Dockerfile链接
3.3-dev9,s6-3.3-dev9,3.3,s6-3.33.2.6,s6-3.2.6,3.2,s6-3.2,latest3.1.9,s6-3.1.9,3.1,s6-3.13.0.12,s6-3.0.12,3.0,s6-3.02.8.16,s6-2.8.16,2.8,s6-2.82.6.23,s6-2.6.23,2.6,s6-2.62.4.30,s6-2.4.30,2.4,s6-2.4
镜像概述和主要用途
HAProxy是目前速度最快、使用最广泛的开源负载均衡器和应用交付控制器。采用C语言编写,以高效利用CPU和内存著称。它支持四层(TCP)和七层(HTTP)代理,并具备HTTP消息检查、路由和修改等扩展功能。
该镜像内置Web监控界面(HAProxy Stats页面),可用于监控错误率、流量 volume 和延迟。通过修改单个配置文件即可启用各类功能,配置语法支持定义路由规则、速率限制、访问控制等。
核心功能和特性
- 高性能代理:支持四层(TCP)和七层(HTTP)代理,资源利用率高效
- 监控能力:内置Stats页面,实时监控流量指标
- SSL/TLS终止:集中处理SSL/TLS加密和解密
- 数据压缩:支持Gzip压缩,减少传输带宽
- 健康检查:自动检测后端服务器健康状态
- 协议支持:兼容HTTP/2和gRPC
- 脚本扩展:支持Lua脚本自定义功能
- 服务发现:集成DNS服务发现机制
- 连接重试:自动重试失败的连接
- 日志功能:详细的请求日志记录
使用场景和适用范围
- 高流量网站的负载均衡与流量分发
- 微服务架构中的服务网关和请求路由
- SSL/TLS termination,简化后端服务配置
- API网关,实现请求限流、认证和监控
- 跨区域部署的流量调度与灾备切换
- 后端服务器的健康检查与自动故障转移
快速参考
-
提交Issue:
https://github.com/haproxytech/haproxy-docker-alpine/issues -
维护者:
HAProxy Technologies -
支持的架构:(更多信息)
linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/386 -
描述来源:
README.md
详细使用方法和配置说明
基础使用流程
该镜像默认包含简单示例配置,实际生产环境需根据官方文档和示例进行自定义配置。以下是覆盖默认配置的基本步骤:
创建Dockerfile
FROM docker.xuanyuan.run/haproxytech/haproxy-alpine:3.0
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
构建镜像
$ docker build -t my-haproxy .
测试配置文件
$ docker run -it --rm my-haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
运行容器
$ docker run -d --name my-running-haproxy -p 8080:80 my-haproxy
说明:使用
-p参数将容器端口映射到主机,示例中主机8080端口映射到容器80端口
使用卷实现配置持久化
$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro haproxytech/haproxy-alpine:3.0
注意:主机目录
/path/to/etc/haproxy需包含haproxy.cfg及其他必要配置文件,:ro表示只读挂载
重新加载配置
通过发送SIGUSR2信号实现配置热加载,无需重启容器:
$ docker kill -s USR2 my-running-haproxy
启用Data Plane API
2.0+版本镜像默认包含Data Plane API(管理接口),启用步骤如下:
1. 配置文件修改
在haproxy.cfg中添加以下内容:
# 定义API用户列表
userlist haproxy-dataplaneapi
user admin insecure-password mypassword # 用户名: admin, 密码: mypassword
# 定义API进程
program api
command /usr/bin/dataplaneapi \
--host 0.0.0.0 \ # 监听地址
--port 5555 \ # 监听端口
--haproxy-bin /usr/sbin/haproxy \ # haproxy可执行文件路径
--config-file /usr/local/etc/haproxy/haproxy.cfg \ # 配置文件路径
--reload-cmd "kill -SIGUSR2 1" \ # 重载命令
--restart-cmd "kill -SIGUSR2 1" \ # 重启命令
--reload-delay 5 \ # 重载延迟(秒)
--userlist haproxy-dataplaneapi # 关联用户列表
no option start-on-reload # 避免重载时重启API进程
2. 启动容器
$ docker run -d --name my-running-haproxy --expose 5555 -v /path/to/etc/haproxy:/usr/local/etc/haproxy:rw haproxytech/haproxy-alpine
说明:
--expose 5555暴露API端口,:rw表示读写挂载(API需修改配置文件)
Docker部署方案示例
docker-compose配置示例
version: '3'
services:
haproxy:
image: docker.xuanyuan.run/haproxytech/haproxy-alpine:3.2
container_name: haproxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./haproxy:/usr/local/etc/haproxy:ro
networks:
- haproxy-network
healthcheck:
test: ["CMD", "haproxy", "-c", "-f", "/usr/local/etc/haproxy/haproxy.cfg"]
interval: 30s
timeout: 10s
retries: 3
networks:
haproxy-network:
driver: bridge
许可证
镜像中软件的许可信息参见HAProxy许可证。
与所有Docker镜像一样,本镜像可能包含基础发行版的其他软件(如Bash等),这些软件可能具有独立的许可证。