HAProxy是一款可靠的高性能负载均衡器,主要用于TCP和HTTP协议的流量分发,能够有效均衡服务器负载、提高系统可用性与响应速度,广泛应用于Web服务、数据库集群等场景,通过智能流量调度确保服务稳定运行,是构建高可用、高性能网络架构的关键工具。
收藏数: 2.0千
下载次数: 1111594498
类型:

library/haproxyDocker 社区
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
3.3-dev9、3.3-dev、3.3-dev9-trixie、3.3-dev-trixie3.3-dev9-alpine、3.3-dev-alpine、3.3-dev9-alpine3.22、3.3-dev-alpine3.223.2.6、3.2、latest、lts、3.2.6-trixie、3.2-trixie、trixie、lts-trixie3.2.6-alpine、3.2-alpine、alpine、lts-alpine、3.2.6-alpine3.22、3.2-alpine3.22、alpine3.22、lts-alpine3.223.1.9、3.1、3.1.9-trixie、3.1-trixie3.1.9-alpine、3.1-alpine、3.1.9-alpine3.22、3.1-alpine3.223.0.12、3.0、3.0.12-trixie、3.0-trixie3.0.12-alpine、3.0-alpine、3.0.12-alpine3.22、3.0-alpine3.222.8.16、2.8、2.8.16-trixie、2.8-trixie2.8.16-alpine、2.8-alpine、2.8.16-alpine3.22、2.8-alpine3.222.6.23、2.6、2.6.23-trixie、2.6-trixie2.6.23-alpine、2.6-alpine、2.6.23-alpine3.22、2.6-alpine3.222.4.30、2.4、2.4.30-trixie、2.4-trixie2.4.30-alpine、2.4-alpine、2.4.30-alpine3.22、2.4-alpine3.22[***]
(更多信息:[***])
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
repo-info 仓库的 repos/haproxy/ 目录(历史记录)
(包含镜像元数据、传输大小等)
official-images 仓库的 library/haproxy 标签
official-images 仓库的 library/haproxy 文件(历史记录)
docs 仓库的 haproxy/ 目录(历史记录)
HAProxy 是一款免费开源的高可用解决方案,通过将请求分发到多台服务器,为 TCP 和 HTTP 应用提供负载均衡和代理功能。它采用 C 语言编写,以高效(在处理器和内存使用方面)著称。
***.org/wiki/HAProxy
!logo
由于 HAProxy 的配置需求因人而异,本镜像未提供默认配置。
建议参考 上游官方文档 了解配置方法,或查看 上游示例目录 获取参考。
dockerfileFROM haproxy:2.3 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
console$ docker build -t my-haproxy .
console$ docker run -it --rm --name haproxy-syntax-check my-haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
(检查配置文件语法是否正确)
console$ docker run -d --name my-running-haproxy --sysctl net.ipv4.ip_unprivileged_port_start=0 my-haproxy
--sysctl net.ipv4.ip_unprivileged_port_start=0。-p 参数,例如 -p 8080:80(将主机 8080 端口映射到容器 80 端口),确保端口未被占用。USER haproxy 运行(因此需要上述 --sysctl 参数);旧版本默认以 root 运行,若需非 root 用户运行,可添加 --user haproxy(或其他 UID)。console$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro --sysctl net.ipv4.ip_unprivileged_port_start=0 haproxy:2.3
/path/to/etc/haproxy 目录需包含 haproxy.cfg 文件。400.http、404.http 等模板),需确保这些文件也存在于该目录中(简单配置通常无需额外文件)。若通过挂载方式使用配置文件,修改 haproxy.cfg 后,可向容器发送 SIGHUP 信号实现平滑重载:
console$ docker kill -s HUP my-running-haproxy
镜像的入口脚本会将 haproxy 命令替换为上游的 haproxy-systemd-wrapper,负责信号处理以实现平滑重载。其底层使用 haproxy -sf 选项,在高负载下可能出现毫秒级连接失败窗口(详见 HAProxy 启停说明)。
haproxy 镜像提供多种变体,适用于不同场景:
haproxy:<version>默认镜像,适合大多数场景。若不确定需求,建议使用此版本。可作为临时容器(挂载代码并启动)或构建其他镜像的基础。
部分标签包含版本代号(如 trixie),对应 Debian 发行版。如需安装额外依赖,建议显式指定代号以减少 Debian 版本更新带来的兼容性问题。
haproxy:<version>-alpine基于 Alpine Linux(alpine 官方镜像),体积更小(约 5MB),适合对镜像大小有严格要求的场景。
注意:使用 musl libc 而非 glibc,部分依赖 glibc 的软件可能存在兼容性问题(详见 相关讨论)。Alpine 镜像通常不含额外工具(如 git、bash),需在 Dockerfile 中自行安装(参考 alpine 镜像说明)。
查看本镜像包含软件的 许可信息。
与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础系统的 Bash 等),这些软件可能采用不同许可。
自动检测到的额外许可信息可在 repo-info 仓库的 haproxy/ 目录 中查看。
使用预构建镜像时,用户需自行确保符合所有包含软件的许可要求。# HAProxy Docker 镜像介绍
Docker 社区
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
3.3-dev9、3.3-dev、3.3-dev9-trixie、3.3-dev-trixie3.3-dev9-alpine、3.3-dev-alpine、3.3-dev9-alpine3.22、3.3-dev-alpine3.223.2.6、3.2、latest、lts、3.2.6-trixie、3.2-trixie、trixie、lts-trixie3.2.6-alpine、3.2-alpine、alpine、lts-alpine、3.2.6-alpine3.22、3.2-alpine3.22、alpine3.22、lts-alpine3.223.1.9、3.1、3.1.9-trixie、3.1-trixie3.1.9-alpine、3.1-alpine、3.1.9-alpine3.22、3.1-alpine3.22]([***]以下是 haproxy 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


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