haproxytech/haproxy-alpine3.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.4HAProxy是目前速度最快、使用最广泛的开源负载均衡器和应用交付控制器。采用C语言编写,以高效利用CPU和内存著称。它支持四层(TCP)和七层(HTTP)代理,并具备HTTP消息检查、路由和修改等扩展功能。
该镜像内置Web监控界面(HAProxy Stats页面),可用于监控错误率、流量 volume 和延迟。通过修改单个配置文件即可启用各类功能,配置语法支持定义路由规则、速率限制、访问控制等。
获取帮助:
HAProxy邮件列表、HAProxy社区Slack 或 Libera.chat #haproxy频道
提交Issue:
[***]
维护者:
HAProxy Technologies
支持的架构:(更多信息)
linux/amd64, linux/arm64, linux/arm/v6, linux/arm/v7, linux/386
镜像更新:
haproxytech/haproxy-docker-alpine提交记录、顶层镜像文件夹
描述来源:
README.md
该镜像默认包含简单示例配置,实际生产环境需根据官方文档和示例进行自定义配置。以下是覆盖默认配置的基本步骤:
dockerfileFROM haproxytech/haproxy-alpine:3.0 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
console$ docker build -t my-haproxy .
console$ docker run -it --rm my-haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
console$ docker run -d --name my-running-haproxy -p 8080:80 my-haproxy
说明:使用
-p参数将容器端口映射到主机,示例中主机8080端口映射到容器80端口
console$ 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信号实现配置热加载,无需重启容器:
console$ docker kill -s USR2 my-running-haproxy
2.0+版本镜像默认包含Data Plane API(管理接口),启用步骤如下:
在haproxy.cfg中添加以下内容:
haproxy# 定义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进程
console$ 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需修改配置文件)
yamlversion: '3' services: haproxy: image: 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等),这些软件可能具有独立的许可证。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务