轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
热门搜索:
haproxy

tutum/haproxy

tutum

用于在链接容器之间进行负载均衡的HAProxy镜像,在Tutum环境中可自动重新配置以适应集群成员的部署、加入或离开。

46 次收藏下载次数: 0状态:社区镜像维护者:tutum仓库类型:镜像最近更新:10 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
标签列表
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

tutum/haproxy

镜像概述和主要用途

tutum/haproxy是一个HAProxy镜像,能够在链接的容器之间实现负载均衡。如果在Tutum环境中启动,当链接的集群成员重新部署、加入或离开时,该镜像会自动重新配置自身。

标签说明

标签说明
tutum/haproxy:latest对应GitHub的master分支
tutum/haproxy:0.1对应GitHub的0.1标签版本

注意:latest标签包含新功能,如虚拟主机、多SSL、多前端等;0.1标签是当前稳定版本,功能较少。

使用方法

基本使用

首先启动暴露80端口的应用容器:

bash
docker run -d --name web1 tutum/hello-world
docker run -d --name web2 tutum/hello-world

然后运行tutum/haproxy并链接到目标容器:

bash
docker run -d -p 80:80 --link web1:web1 --link web2:web2 tutum/haproxy

此时,tutum/haproxy容器将在80端口监听请求,并使用roundrobin(轮询)算法将请求转发到web1和web2后端。

容器与服务的区别

  • 容器:Docker的基本构建块。
  • 服务:Tutum和tutum/haproxy的基本构建块。

服务是一组具有相同功能的容器集合,通常使用相同参数创建的容器可视为一个服务。服务是负载均衡管理的理想概念,当服务扩缩容(改变容器数量)时,HAProxy会相应地平衡负载。

将容器归为同一服务的方法

  1. 在Tutum中运行tutum/haproxy:在Tutum中设置链接时,会自动在服务之间建立链接,过程完全透明。
  2. 在Tutum外运行tutum/haproxy:链接容器到tutum/haproxy时,链接别名至关重要。任何共享相同前缀且后跟“-/_”及整数的链接别名会被视为来自同一服务。例如:web-1和web-2属于服务web,app_1和app_2属于服务app,而app1和web2属于不同服务。

配置说明

HAProxy的全局和默认设置

此部分设置不可变,需重新部署HAProxy服务才能生效。

环境变量默认值描述
DEFAULT_SSL_CERT默认SSL证书,包含私钥和公证书的PEM文件,使用'\n'作为行分隔符
BALANCEroundrobin负载均衡算法,可选值:roundrobin(轮询)、static-rr(静态轮询)、source(源IP)、leastconn(最少连接),详见https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-balance
MODEhttpHAProxy负载均衡模式,可选值:http、tcp、health
MAXCONN4096设置每个进程的最大并发连接数
OPTIONredispatch逗号分隔的HAProxy option条目,添加到default部分
RSYSLOG_DESTINATION127.0.0.1HAProxy日志发送的rsyslog目标地址
SSL_BIND_OPTIONSno-sslv3SSL服务器使用的SSL绑定选项,设置HAProxy的ssl-default-bind-options配置,默认仅允许TLSv1.0+
SSL_BIND_CIPHERSSSL服务器使用的SSL密码套件,设置HAProxy的ssl-default-bind-ciphers配置
STATS_PORT1936HAProxy统计信息页面端口,若发布此端口,可通过http://<host-ip>:<STATS_PORT>/访问
STATS_AUTHstats:stats访问HAProxy统计信息所需的用户名和密码
TIMEOUTconnect 5000, client 50000, server 50000逗号分隔的HAProxy timeout条目,添加到default部分
HEALTH_CHECKcheck每个后端路由的健康检查设置,例如:"check inter 2000 rise 2 fall 3",详见https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-check

链接的应用服务中的设置

此处设置可覆盖HAProxy的全局设置,仅适用于链接的服务。在Tutum环境中,当服务重新部署、加入或离开HAProxy服务时,HAProxy会自动更新以应用更改。

环境变量描述
APPSESSION粘性会话选项,例如:JSESSIONID len 52 timeout 3h,详见http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-appsession
COOKIE粘性会话选项,例如:SRV insert indirect nocache,详见http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-cookie
SSL_CERTSSL证书,包含私钥和公证书的PEM文件,使用'\n'作为行分隔符
DEFAULT_SSL_CERT与SSL_CERT类似,但将PEM文件存储为/certs/cert0.pem作为默认SSL证书。若在链接服务和HAProxy中指定多个DEFAULT_SSL_CERT,行为未定义
EXCLUDE_PORTS逗号分隔的端口号(如3306, 3307),默认HAProxy会将应用服务暴露的所有端口添加到后端路由,可通过此参数排除不需要路由的端口(如数据库端口)
TCP_PORTS逗号分隔的端口(如9000, 9001, 2222/ssl),列在此处的端口将以TCP模式负载均衡,以/ssl结尾的端口表示需要SSL终止
BALANCE负载均衡算法,同全局设置中的BALANCE
FORCE_SSL若设置(任意值)且启用SSL终止,HAProxy会将HTTP请求重定向到HTTPS
VIRTUAL_HOST指定虚拟主机和虚拟路径,格式:[scheme://]domain[:port][/path], ...,*可作为通配符用于domain和path部分
HEALTH_CHECK每个后端路由的健康检查设置,同全局设置中的HEALTH_CHECK
HTTP_CHECK启用HTTP协议检查服务器健康状态,例如:"OPTIONS * HTTP/1.1\r\nHost:\ www",详见https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-option%20httpchk
VIRTUAL_HOST_WEIGHT虚拟主机权重整数,与VIRTUAL_HOST配合使用,默认0,影响虚拟主机ACL规则的优先级,权重越高优先级越高
HSTS_MAX_AGE启用HSTS,整数表示HSTS的最大存活时间(秒),例如:31536000
GZIP_COMPRESSION_TYPE启用gzip压缩,值为要压缩的MIME类型列表,例如:text/html text/plain text/css

更多信息请参考http://cbonte.github.io/haproxy-dconv/configuration-1.5.html%E3%80%82

虚拟主机和虚拟路径

虚拟主机和虚拟路径可通过环境变量VIRTUAL_HOST指定,其值为逗号分隔的URL列表,格式为[scheme://]domain[:port][/path]。

项默认值描述
schemehttp可选值:http、https、wss
domain虚拟主机,*可作为通配符
port80/443虚拟主机端口,当scheme为https或wss时,默认端口为443
/path虚拟路径,以/开头,*可作为通配符

匹配示例

虚拟主机匹配不匹配
[***]example.com[***]
example.comexample.com[***]
example.com:90example.com:90example.com
[***][***]example.com
[***][***][***]
*.example.com[***]example.com
*example.com[***] example.com[***]
[***][] [][***]
[***][] []example.com
*任何HTTP网站
[***]任何HTTPS网站
*/pathexample.com/pathexample.com/path/
*/path/example.com/path/example.com/path
/path/example.com/path/abcexample.com/abc/path/
/.jsexample.com/abc.jsexample.com/abc.css

注意:基于VIRTUAL_HOST生成的ACL规则顺序是随机的。在HAProxy中,若宽范围规则(如*.example.com)排在窄范围规则(如web.example.com)之前,窄范围规则将永远不会生效。因此,若虚拟主机存在范围重叠,需使用VIRTUAL_HOST_WEIGHT手动设置ACL规则顺序,即给窄范围虚拟主机设置更高权重。

SSL终止

tutum/haproxy支持多证书SSL终止。对于需要SSL终止的应用,只需设置SSL_CERT和VIRTUAL_HOST,HAProxy会从链接环境中读取证书并配置SSL终止。

注意:若环境变量值包含“=”(SSL证书中常见),Docker 1.7.0以下版本会跳过该环境变量,因此多SSL终止仅在Docker 1.7.0+或Tutum环境中可用。

SSL终止启用条件

  1. 至少设置一个SSL证书
  2. VIRTUAL_HOST未设置,或设置为“https” scheme

设置SSL证书的方法

  1. 在tutum/haproxy中设置DEFAULT_SSL_CERT
  2. 在链接到HAProxy的应用服务中设置SSL_CERT和/或DEFAULT_SSL_CERT

SSL_CERT和DEFAULT_SSL_CERT的区别:SSL_CERT指定的多个证书存储为cert1.pem、cert2.pem等,而DEFAULT_SSL_CERT指定的证书始终存储为cert0.pem。HAProxy在无SNI匹配时使用cert0.pem作为默认证书。若提供多个DEFAULT_SSL_CERT,仅一个会存储为cert0.pem,其余会被丢弃。

生成自签名证书

证书是包含私钥(在前)和公证书(在后)的PEM文件,可通过以下脚本生成:

bash
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out ca.pem -days 1080 -nodes -subj '/CN=*/O=My Company Name LTD./C=US'
cp key.pem cert.pem
cat ca.pem >> cert.pem

生成后,使用以下命令获取证书文本:

bash
awk 1 ORS='\\n' cert.pem

将输出复制并设置为SSL_CERT或DEFAULT_SSL_CERT的值。

亲和性和会话粘性

有三种设置亲和性和粘性会话的方法:

  1. 在应用服务中设置BALANCE=source:HAProxy会对客户端IP地址进行哈希,确保同一IP始终定向到同一服务器。
  2. 设置APPSESSION=<value>:使用应用会话确定客户端连接的服务器,例如:JSESSIONID len 52 timeout 3h。
  3. 设置COOKIE=<value>:使用应用Cookie确定客户端连接的服务器,例如:SRV insert indirect nocache。

更多信息请参考http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-appsession%E5%92%8Chttp://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-cookie%E3%80%82

TCP负载均衡

默认情况下,tutum/haproxy运行在http模式。若要链接的服务运行在tcp模式,可指定环境变量TCP_PORTS(逗号分隔的端口,如9000, 9001)。

示例1:仅TCP模式

bash
docker run --name app-1 --expose 9000 --expose 9001 -e TCP_PORTS="9000,9001" your_app
docker run --name app-2 --expose 9000 --expose 9001 -e TCP_PORTS="9000,9001" your_app
docker run --link app-1:app-1 --link app-2:app-2 -p 9000:9000 -p 9001:9001 tutum/haproxy

此时,HAProxy会在9000和9001端口分别对app-1和app-2进行TCP模式负载均衡。

示例2:同时支持TCP和HTTP模式

bash
docker run --name app-1 --expose 80 --expose 22 -e TCP_PORTS=22 your_app
docker run --name app-2 --expose 80 --expose 22 -e TCP_PORTS=22 your_app
docker run --link app-1:app-1 --link app-2:app-2 -p 80:80 -p 22:22 tutum/haproxy

此时,HAProxy在80端口使用HTTP模式,在22端口使用TCP模式进行负载均衡。

带SSL终止的TCP端口

在TCP_PORTS中,以/ssl结尾的端口(如2222/ssl)会启用SSL终止。

注意:

  1. 可同时设置VIRTUAL_HOST和TCP_PORTS,以更好地控制HTTP模式。
  2. TCP端口负载均衡适用于所有服务,若链接多个不同服务使用相同TCP_PORTS,tutum/haproxy会将它们视为同一服务。

WebSocket支持

有两种启用WebSocket支持的方法:

  1. WebSocket基于HTTP协议启动,可通过虚拟主机指定ws或wss scheme,例如:-e VIRTUAL_HOST="ws://ws.example.com, wss://wss.example.com"
  2. WebSocket本身是TCP连接,也可使用前述TCP负载均衡方法。

在Tutum中使用

通过Tutum启动要负载均衡的服务,然后启动负载均衡器:

  1. 选择“Jumpstarts”→“Proxies”→选择tutum/haproxy
  2. 在向导的“环境变量”步骤中,链接到之前创建的服务(链接名称不重要)
  3. 添加“Full Access”API角色(允许HAProxy通过查询Tutum API动态更新)
  4. 若使用tutumcli或stackfile,请将role设置为global

HAProxy会自动查询Tutum API获取服务容器的更新列表并重新配置,包括:

  • 链接的应用服务中容器的启动/停止/终止
  • 链接的应用服务的扩缩容/重新部署
  • 向HAProxy添加新链接
  • 从HAProxy移除旧链接

使用场景示例

场景1:Web应用暴露8080端口,代理监听80端口

bash
docker run -d --link webapp:webapp -p 80:80 tutum/haproxy

场景2:Web应用暴露8080端口及数据库端口8083/8086,代理仅路由8080端口

bash
docker run -d --link webapp:webapp -e EXCLUDE_PORTS=8083,8086 -p 80:80 tutum/haproxy

场景3:Web应用暴露8080端口

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 haproxy 镜像标签

docker pull docker.xuanyuan.run/tutum/haproxy:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull tutum/haproxy:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
tutum/haproxy
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像

高速镜像下载 · 在线技术支持 · 99.95% SLA 保障

50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 haproxy 镜像推荐

haproxy logo

library/haproxy

Docker 官方镜像
HAProxy是一款可靠的高性能负载均衡器,主要用于TCP和HTTP协议的流量分发,能够有效均衡服务器负载、提高系统可用性与响应速度,广泛应用于Web服务、数据库集群等场景,通过智能流量调度确保服务稳定运行,是构建高可用、高性能网络架构的关键工具。
2.0千 次收藏10亿+ 次下载
17 天前更新
haproxytech/haproxy logo

haproxytech/haproxy

haproxytech
HAProxy社区版Docker统一镜像,支持Alpine、Debian和Ubuntu基础系统,提供高性能的开源负载均衡与应用交付控制功能,可实现四层(TCP)和七层(HTTP)代理及丰富的流量管理特性。
1万+ 次下载
17 天前更新
bitnamicharts/haproxy logo

bitnamicharts/haproxy

bitnamicharts
Bitnami的HAProxy Helm chart用于在Kubernetes环境中部署和管理HAProxy,提供便捷的负载均衡与反向代理解决方案。
1 次收藏100万+ 次下载
15 天前更新
percona/haproxy logo

percona/haproxy

percona
暂无描述
100万+ 次下载
15 天前更新
activestate/haproxy logo

activestate/haproxy

activestate
ActiveState的可定制、低至无漏洞的Haproxy容器镜像,提供安全且最新的Haproxy工具链,适用于构建和运行Haproxy应用。
5.1千+ 次下载
14 天前更新
cleanstart/haproxy logo

cleanstart/haproxy

cleanstart
CleanStart Haproxy镜像是基于最小化CleanStart OS构建的高性能、安全强化Web服务器,专为企业环境设计,具备最小攻击面和全面安全加固,提供可靠的Web服务能力与高级安全特性。
1万+ 次下载
15 天前更新

查看更多 haproxy 相关镜像

更多相关 Docker 镜像与资源

以下是 tutum/haproxy 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/haproxy Docker 镜像说明(HAProxy 负载均衡器,官方标准版本)
  • library/nginx Docker 镜像说明
  • ilios/nginx Docker 镜像说明(Nginx Web 服务器,轻量高效)
  • ubuntu/nginx Docker 镜像说明(Nginx Web 服务器,基于 Ubuntu,适合生产环境)
  • bitnami/nginx Docker 镜像说明(Nginx Web 服务器,Bitnami 企业级配置,适合生产环境)