专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单

文档

工具

功能
提交工单页面收录

帮助
轩辕镜像免费版

其他
关于我们网站地图
热门搜索:
haproxy

dockercloud/haproxy

dockercloud

在Docker Cloud中平衡链接容器的HAProxy镜像,支持容器重新部署、加入或离开时自动重新配置,也适用于Docker Compose v2和Docker Swarm模式。

115 次收藏下载次数: 0状态:社区镜像维护者:dockercloud仓库类型:镜像最近更新:8 年前
让 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
标签列表
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。
点击查看

dockercloud/haproxy

注意事项:

很遗憾,该项目目前处于维护模式。请不要提交任何新功能的PR。我们仍会修复发现的bug。

这是一个HAProxy镜像,可在链接的容器之间进行负载均衡;如果在Docker Cloud或使用Docker Compose v2启动,当链接的集群成员重新部署、加入或离开时,它会自动重新配置。

版本

可用版本请参见:https://hub.docker.com/r/dockercloud/haproxy/tags/

  • latest:基于master分支构建
  • staging:基于staging分支构建
  • x.x.x:基于GitHub上的git标签构建

注意:请始终使用适合您的特定镜像标签。除测试目的外,不要在任何情况下使用dockercloud/haproxy:latest。

使用方法

您可以通过以下四种方式使用dockercloud/haproxy:

  • 在Docker Cloud中运行(Cloud模式)
  • 使用Docker传统链接运行(Legacy模式)
  • 使用Docker Compose v2运行(Compose模式,兼容Docker Swarm)
  • 使用Docker SwarmMode运行(Swarm模式)

在Docker Cloud中运行(Cloud模式)

  1. 使用Docker Cloud启动您想要负载均衡的服务。

  2. 启动负载均衡器。为此,选择"Jumpstarts"、"Proxies"并选择dockercloud/haproxy。在向导的"环境变量"步骤中,链接到之前创建的服务(链接名称不重要),并添加"Full Access" API角色(这将允许HAProxy通过查询Docker Cloud的API动态更新)。

    注意:

    • 如果使用docker-cloud cli或stackfile,请将roles设置为global
    • 请勿在此镜像上设置sequential_deployment: true

完成后,haproxy容器将开始查询Docker Cloud的API以获取服务中容器的更新列表,并自动重新配置,包括:

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

Docker Cloud中的stackfile示例:

yaml
web:
  image: 'dockercloud/hello-world:latest'
  target_num_containers: 2
lb:
  image: 'dockercloud/haproxy:latest'
  links:
    - web
  ports:
    - '80:80'
  roles:
    - global

使用Docker SwarmMode运行(Swarm模式)

Docker 1.12原生支持SwarmMode。dockercloud/haproxy将自动配置以负载均衡同一网络上运行的所有服务:

  1. 使用docker network create -d overlay <name>命令创建新网络

  2. 在管理节点上的该网络上启动dockercloud/haproxy服务。

  3. 在同一网络上启动需要负载均衡的应用服务。

    注意

    • 必须在应用服务中设置环境变量SERVICE_PORTS=<port1>,<port2>,这些是您想要公开的端口。
    • 对于dockercloud/haproxy服务: 如果挂载/var/run/docker.sock,则只能在swarm管理节点上运行。 如果希望haproxy服务在工作节点上运行,需要设置指向管理节点地址的DOCKER_HOST环境变量。
  • 如果应用服务需要访问其他服务(例如数据库),可以将应用服务附加到两个不同的网络,一个用于数据库,另一个用于代理
  • 此功能仍处于实验阶段,如发现任何bug或有建议,请告知我们。

Docker Swarm模式支持示例

bash
docker network create -d overlay proxy
docker service create --name haproxy --network proxy --mount target=/var/run/docker.sock,source=/var/run/docker.sock,type=bind -p 80:80 --constraint "node.role == manager" dockercloud/haproxy
docker service create -e SERVICE_PORTS="80" --name app --network proxy --constraint "node.role != manager" dockercloud/hello-world
docker service scale app=2
docker service update --env-add VIRTUAL_HOST=web.org app

使用Docker传统链接运行(Legacy模式)

传统链接指的是docker 1.10之前创建的链接,以及docker 1.10或之后在默认桥接网络中创建的链接。

使用docker cli的传统链接示例

bash
docker run -d --name web1 dockercloud/hello-world
docker run -d --name web2 dockercloud/hello-world
docker run -d -p 80:80 --link web1:web1 --link web2:web2 dockercloud/haproxy

docker-compose.yml v1格式示例:

yaml
web1:
  image: 'dockercloud/hello-world:latest'
web2:
  image: 'dockercloud/hello-world:latest'
lb:
  image: 'dockercloud/haproxy:latest'
  links:
    - web1
    - web2
  ports:
    - '80:80'

注意:任何共享相同前缀并后跟"-/_"和整数的链接别名都被视为来自同一服务。例如:web-1和web-2属于服务web,app_1和app_2来自服务app,但app1和web2来自不同服务。

使用Docker Compose v2运行(Compose模式)

Docker Compose 1.6支持新的compose文件格式。在新版本(v2)中,注入环境变量的旧链接已被弃用。

与使用传统链接类似,以下是需要注意的差异:

  • 此镜像必须使用Docker Compose运行,因为它依赖Docker Compose标签进行配置。
  • 容器需要访问docker socket,必须挂载正确的文件并设置相关环境才能使其工作。
  • 需要链接以确保dockercloud/haproxy知道需要平衡哪些服务,尽管自docker 1.10起服务发现不需要链接。不需要链接别名。
  • 不要在dockercloud/haproxy容器中覆盖HOSTNAME环境变量。
  • 与在Docker Cloud上一样,当链接的服务扩展或链接的容器启动/停止时,支持自动重新配置。
  • 容器名称由docker-compose维护,并用于服务发现。请不要在compose文件中将链接服务的container_name更改为非标准名称。否则,该服务将被忽略。

在Linux或Docker for Mac (beta)上运行的docker-compose.yml示例:

yaml
version: '2'
services:
  web:
    image: dockercloud/hello-world
  lb:
    image: dockercloud/haproxy
    links:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80

在Mac OS上运行的docker-compose.yml示例:

yaml
version: '2'
services:
  web:
    image: dockercloud/hello-world
  lb:
    image: dockercloud/haproxy
    links:
      - web
    environment:
      - DOCKER_TLS_VERIFY
      - DOCKER_HOST
      - DOCKER_CERT_PATH
    volumes:
      - $DOCKER_CERT_PATH:$DOCKER_CERT_PATH
    ports:
      - 80:80

堆栈启动后,可以使用docker-compose scale web=3扩展web服务。dockercloud/haproxy将自动重新加载其配置。

使用Docker Compose v2和Swarm(使用环境变量)

当使用上一节中的链接时,Docker Swarm调度程序可能过于严格。 即使使用覆盖网络,swarm(截至1.1.0)也会尝试将haproxy调度到与链接服务相同的节点,这是由于传统链接行为。 这可能导致不需要的调度模式或错误,例如"无法找到满足所有依赖关系的节点..."

由于Compose V2允许通过服务名称进行发现,Dockercloud haproxy只需要链接来识别需要负载均衡的服务。

第二种选择是使用ADDITIONAL_SERVICES变量来识别服务。

  • 将ADDITIONAL_SERVICES环境变量设置为链接的服务。
  • 还需要设置depends_on以确保web服务在haproxy之前启动,以便主机名可以解析。这控制调度顺序但不控制位置。
  • 容器仍然需要访问docker守护进程以获取负载均衡容器的配置。
  • 如果haproxy未更新配置有任何问题,请尝试运行reload.sh或设置DEBUG环境变量。
  • 此镜像也与Docker Swarm兼容,并支持跨多主机的docker原生overlay网络。

在linux上"project_dir"目录中运行的docker-compose.yml示例:

yaml
version: '2'
services:
  web:
    image: dockercloud/hello-world
  blog:
    image: dockercloud/hello-world
  lb:
    image: dockercloud/haproxy
    depends_on:
      - web
      - blog
    environment:
      - ADDITIONAL_SERVICES=project_dir:web,project_dir:blog
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80

配置

HAProxy的全局和默认设置

此部分的设置是不可变的,必须重新部署HAProxy服务才能使更改生效

环境变量默认值描述
ADDITIONAL_BACKEND_<NAME>添加名称为<NAME>的附加后端。可能的值包括:balance source, server 127.0.0.1:8080
ADDITIONAL_BACKEND_FILE_<NAME>添加名称为<NAME>的附加后端,其值为指定文件的内容。
ADDITIONAL_SERVICES要平衡的附加服务列表(例如:prj1:web,prj2:sql)。发现将基于`com.docker.compose.[project
BALANCEroundrobin使用的负载均衡算法。可能的值包括:roundrobin(轮询)、static-rr(静态轮询)、source(源地址)、leastconn(最少连接)。参见:https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-balance
CA_CERT_FILEca-cert文件的路径。允许直接从卷挂载ca-cert文件,而不是从环境变量。如果设置,CA_CERT环境变量将被忽略。可能的值:/cacerts/cert0.pem
CA_CERTHAProxy用于验证客户端的CA证书。使用与DEFAULT_SSL_CERT相同的格式
CERT_FOLDER证书的路径。允许直接从卷挂载证书文件,而不是从环境变量。如果设置,DEFAULT_SSL_CERT和链接服务的SSL_CERT将被忽略。可能的值:/certs/
DEFAULT_SSL_CERT默认SSL证书,一个PEM文件内容,包含私钥后跟公证书,使用'\n'(两个字符)作为行分隔符。应格式化为一行 - 参见SSL终止
EXTRA_BIND_SETTINGS额外设置的逗号分隔字符串(<port>:<setting>),每个部分将附加到配置文件中的相关端口绑定部分。要转义逗号,请使用\,。可能的值:443:accept-proxy, 80:name http
EXTRA_DEFAULT_SETTINGS额外设置的逗号分隔字符串,每个部分将附加到配置文件的DEFAULT部分。要转义逗号,请使用\,
EXTRA_DEFAULT_SETTINGS_FILE其内容将包含在配置文件的DEFAULT部分中的文件。
EXTRA_FRONTEND_SETTINGS_<PORT>额外设置的逗号分隔字符串,每个部分将附加到名称中指定端口号的frontend部分。要转义逗号,请使用\,。例如:EXTRA_FRONTEND_SETTINGS_80=balance source, maxconn 2000
EXTRA_FRONTEND_SETTINGS_FILE_<PORT>其内容将附加到名称中指定端口号的frontend部分的文件。
EXTRA_GLOBAL_SETTINGS额外设置的逗号分隔字符串,每个部分将附加到配置文件的GLOBAL部分。要转义逗号,请使用\,。可能的值:tune.ssl.cachesize 20000, tune.ssl.default-dh-param 2048
EXTRA_GLOBAL_SETTINGS_FILE其内容将包含在配置文件的GLOBAL部分中的文件。
EXTRA_ROUTE_SETTINGS附加到每个后端路由健康检查后的字符串,可以在链接服务中覆盖。可能的值:"send-proxy"
EXTRA_SSL_CERTS额外证书名称的逗号分隔列表,例如CERT1, CERT2, CERT3。还需要将每个证书指定为单独的环境变量,如:CERT1="<cert-body1>"、CERT2="<cert-body2>"、CERT3="<cert-body3>"
FORCE_DEFAULT_BACKENDTrue将default_service设置为默认后端。当有多个后端且不希望default_service作为默认后端时很有用
HEALTH_CHECKcheck为每个后端路由设置健康检查,可能的值:"check inter 2000 rise 2 fall 3"(每2000毫秒检查一次,成功2次后上线,失败3次后下线)。参见:https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-check
HTTP_BASIC_AUTHHTTP基本认证的凭据(<user>:<pass>)逗号分隔列表,适用于所有后端路由。要转义逗号,请使用\,。注意:不要在生产环境中依赖此进行身份验证
HTTP_BASIC_AUTH_SECUREHTTP基本认证的加密凭据(<user>:<encrypted-pass>)逗号分隔列表,适用于所有后端路由。要转义逗号,请使用\,。参见:https://cbonte.github.io/haproxy-dconv/1.5/configuration.html#3.4-user 注意:不要在生产环境中依赖此进行身份验证
MAXCONN4096设置每个进程的最大并发连接数。
MODEhttpHAProxy的负载均衡模式。可能的值包括:http(HTTP模式)、tcp(TCP模式)、health(健康检查模式)
MONITOR_PORT应添加monitor_uri的端口号。与MONITOR_URI一起使用。可能的值:80
MONITOR_URI用于拦截并返回HAProxy健康状态而不是转发请求的确切URI。参见:http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4-monitor-uri%E3%80%82%E5%8F%AF%E8%83%BD%E7%9A%84%E5%80%BC%EF%BC%9A%60/ping%60
OPTIONredispatch添加到default部分的HAProxy option条目逗号分隔列表。
RELOAD_TIMEOUT0当haproxy重新配置时,新进程启动并附加到TCP套接字以处理新连接,旧进程处理现有连接。此超时指定旧进程允许继续运行的时间,之后将被终止。
-1:立即终止旧进程
0:无超时,旧进程将运行到TCP连接结束。由于启用了http-keep-alives,TCP连接可能保持打开状态很长时间。
>0:超时(秒),之后进程将被终止。
RSYSLOG_DESTINATION127.0.0.1HAProxy日志发送到的rsyslog目标
SKIP_FORWARDED_PROTO如果设置为任何值,HAProxy将不添加X-Forwarded-头。可用于将HAProxy与另一个负载均衡器结合使用时
SSL_BIND_CIPHERS显式设置SSL服务器使用的SSL密码。这设置HAProxy ssl-default-bind-ciphers配置。
SSL_BIND_OPTIONSno-sslv3显式设置SSL服务器使用的SSL绑定选项。这设置HAProxy ssl-default-bind-options配置。默认仅允许在SSL服务器上使用TLSv1.0+。
STATS_AUTHstats:stats访问HAProxy统计信息所需的用户名和密码。
STATS_PORT1936HAProxy统计信息部分的端口。如果发布此端口,可通过http://<host-ip>:<STATS_PORT>/访问统计信息
TIMEOUTconnect 5000, client 50000, server 50000添加到default部分的HAProxy timeout条目逗号分隔列表。
NBPROC1设置global部分的nbproc条目。默认情况下,只创建一个进程,这是推荐的操作模式。
HAPROXY_USERhaproxy将UNIX套接字的用户设置为指定的系统用户名
HAPROXY_GROUPhaproxy将UNIX套接字的组设置为指定的

镜像拉取方式

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

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

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

使用方法:

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

DockerHub 原生拉取命令

docker pull dockercloud/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访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
dockercloud/haproxy
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
官方公众号:源码跳动|官方技术交流群:831623681
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.

更多 haproxy 镜像推荐

haproxy logo

library/haproxy

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

haproxytech/haproxy

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

bitnamicharts/haproxy

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

percona/haproxy

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

activestate/haproxy

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

cleanstart/haproxy

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

查看更多 haproxy 相关镜像

更多相关 Docker 镜像与资源

以下是 dockercloud/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 企业级配置,适合生产环境)