arm32v7/haproxy注意: 这是 haproxy官方镜像 的 arm32v7 架构构建的"按架构"仓库 — 更多信息请参见官方镜像文档中的 "除amd64外的架构?" 和官方镜像FAQ中的 "Git中镜像源已更改,该怎么办?"。
维护者:
Docker社区
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接3.3-dev10, 3.3-dev, 3.3-dev10-trixie, 3.3-dev-trixie
3.3-dev10-alpine, 3.3-dev-alpine, 3.3-dev10-alpine3.22, 3.3-dev-alpine3.22
3.2.6, 3.2, latest, lts, 3.2.6-trixie, 3.2-trixie, trixie, lts-trixie
3.2.6-alpine, 3.2-alpine, alpine, lts-alpine, 3.2.6-alpine3.22, 3.2-alpine3.22, alpine3.22, lts-alpine3.22
3.1.9, 3.1, 3.1.9-trixie, 3.1-trixie
3.1.9-alpine, 3.1-alpine, 3.1.9-alpine3.22, 3.1-alpine3.22
3.0.12, 3.0, 3.0.12-trixie, 3.0-trixie
3.0.12-alpine, 3.0-alpine, 3.0.12-alpine3.22, 3.0-alpine3.22
2.8.16, 2.8, 2.8.16-trixie, 2.8-trixie
2.8.16-alpine, 2.8-alpine, 2.8.16-alpine3.22, 2.8-alpine3.22
2.6.23, 2.6, 2.6.23-trixie, 2.6-trixie
2.6.23-alpine, 2.6-alpine, 2.6.23-alpine3.22, 2.6-alpine3.22
2.4.30, 2.4, 2.4.30-trixie, 2.4-trixie
2.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的用户配置需求各不相同,因此该镜像不包含默认配置。
有关配置HAProxy的详细信息,请参考上游优秀且全面的文档。
也建议查看上游的examples/目录。
DockerfiledockerfileFROM arm32v7/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需要内核版本为4.11或更高。您可能需要通过指定-p选项将HAProxy监听的端口发布到主机,例如-p 8080:80将容器内的80端口映射到主机的8080端口。确保使用的端口未被占用。
注意: 2.4+版本的容器默认以USER haproxy运行(因此需要上述--sysctl net.ipv4.ip_unprivileged_port_start=0),但旧版本为兼容起见仍默认使用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 arm32v7/haproxy:2.3
注意,主机的/path/to/etc/haproxy目录应包含名为haproxy.cfg的文件。如果该配置文件引用了该目录中的其他文件(例如400.http、404.http等模板文件),请确保这些文件也存在。不过,许多最小化配置不需要任何支持文件。
如果您使用绑定挂载了配置文件,并且已编辑haproxy.cfg,可以通过向容器发送SIGHUP信号使用HAProxy的优雅重载功能:
console$ docker kill -s HUP my-running-haproxy
镜像中的入口点脚本会检查haproxy命令,并将其替换为HAProxy上游的haproxy-systemd-wrapper,该工具负责信号处理以实现优雅重载。其底层使用haproxy的-sf选项,因此“在高负载下,可能会有两个几毫秒的小窗口出现少量连接失败”(参见停止和重启HAProxy)。
arm32v7/haproxy镜像有多种版本,适用于不同用例。
arm32v7/haproxy:<version>这是默认镜像。如果您不确定需求,建议使用此版本。它既可用作临时容器(挂载源代码并启动容器以运行应用),也可用作构建其他镜像的基础。
部分标签可能包含如trixie等名称,这些是Debian的版本代号,表示镜像基于哪个Debian版本构建。如果您的镜像需要安装除自带软件外的其他包,建议明确指定这些代号,以减少Debian新版本发布时的兼容性问题。
arm32v7/haproxy:<version>-alpine此镜像基于流行的Alpine Linux项目,来自alpine官方镜像。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此通常会生成更精简的镜像。
当最终镜像大小是首要考虑因素时,此变体非常有用。需要注意的是,它使用musl libc而非glibc及相关库,因此软件可能会因对libc的依赖/假设不同而遇到问题。有关可能出现的问题及使用Alpine镜像的优缺点比较,请参见此Hacker News评论线程。
为最小化镜像大小,Alpine基础镜像通常不包含额外相关工具(如git或bash)。如果以此镜像为基础,可在自己的Dockerfile中添加所需工具(若不熟悉Alpine包安装,参见alpine镜像描述中的示例)。
查看此镜像中包含软件的许可信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能受其他许可协议约束(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
部分可自动检测的额外许可信息可能位于repo-info仓库的haproxy/目录。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可协议。

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