本镜像为 HAProxy 的 QUIC 协议互操作性测试提供标准化运行环境,包含预配置的 HAProxy 实例、常用互操作性测试工具及可复现的测试场景。主要用途是简化 HAProxy 与其他 QUIC 协议实现(客户端/服务端)的兼容性验证流程,支持快速部署、执行及分析 QUIC 互操作性测试。
quic-interop-runner、h3-client 等)4.1.1 从 Docker Hub 拉取(推荐)
bashdocker pull haproxytech/quic-interop-test:latest
4.1.2 本地构建
bash# 克隆仓库 git clone https://github.com/haproxytech/quic-interop-test.git cd quic-interop-test # 构建镜像 docker build -t haproxy-quic-interop-test:local .
4.2.1 启动容器(默认配置)
bashdocker run -d \ --name haproxy-quic-test \ -p 443:443/udp # QUIC 标准端口 \ -p 8080:8080/tcp # 测试状态监控端口 \ haproxytech/quic-interop-test:latest
4.2.2 查看测试日志
bashdocker logs -f haproxy-quic-test
4.3.1 客户端模式(测试 HAProxy 服务端与外部 QUIC 客户端的互操作性)
bashdocker run -d \ --name haproxy-quic-server-test \ -p 443:443/udp \ -e TEST_MODE=server \ # 启用服务端模式 -e CLIENT_ADDR=192.168.1.100:4433 \ # 外部 QUIC 客户端地址 -v ./custom-haproxy.cfg:/etc/haproxy/haproxy.cfg \ # 挂载自定义 HAProxy 配置 haproxytech/quic-interop-test:latest
4.3.2 服务端模式(测试 HAProxy 客户端与外部 QUIC 服务端的互操作性)
bashdocker run -d \ --name haproxy-quic-client-test \ -e TEST_MODE=client \ # 启用客户端模式 -e SERVER_ADDR=192.168.1.200:443 \ # 外部 QUIC 服务端地址 -v ./test-results:/tmp/test-results \ # 持久化测试结果 haproxytech/quic-interop-test:latest
4.4.1 环境变量
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
TEST_MODE | 测试模式:client(HAProxy 作为客户端)/server(HAProxy 作为服务端) | server |
HAPROXY_CONFIG_PATH | 容器内 HAProxy 配置文件路径 | /etc/haproxy/haproxy.cfg |
LOG_LEVEL | 日志级别:debug/info/warn/error | info |
TEST_DURATION | 单场景测试持续时间(秒) | 30 |
RESULT_EXPORT_PATH | 测试结果导出路径(容器内) | /tmp/test-results |
HAPROXY_VERSION | 内置 HAProxy 版本(需镜像支持) | 2.8-dev |
4.4.2 卷挂载
-v /host/path/to/haproxy.cfg:/etc/haproxy/haproxy.cfg 自定义 HAProxy 配置(如 QUIC 版本、流控参数等)。-v /host/path/to/results:/tmp/test-results 将测试日志、性能数据导出到宿主机。4.4.3 端口映射
| 端口(容器内) | 协议 | 用途 | 宿主机映射建议 |
|---|---|---|---|
| 443 | UDP | QUIC 协议通信端口(标准端口) | 443/udp |
| 8080 | TCP | 测试状态监控 HTTP 端口 | 8080/tcp |
| 5555 | TCP | 测试工具远程控制端口(可选) | 5555/tcp |
通过修改 HAProxy 配置文件(默认路径 /etc/haproxy/haproxy.cfg)调整 QUIC 测试参数,例如:
haproxy# 示例:启用 QUIC 版本协商测试 frontend quic-test-frontend bind *:443 quic alpn h3-29,h3-30,h3 # 支持多个 ALPN 协商 mode http default_backend quic-test-backend backend quic-test-backend server test-server 127.0.0.1:8081 http-response set-header Alt-Svc 'h3=":443"; ma=86400' # 发送 Alt-Svc 头部
docker run 完整示例(自定义配置+结果持久化)bashdocker run -d \ --name haproxy-quic-custom-test \ -p 443:443/udp \ -p 8080:8080/tcp \ -e TEST_MODE=server \ -e LOG_LEVEL=debug \ -e RESULT_EXPORT_PATH=/tmp/results \ -v $(pwd)/my-haproxy.cfg:/etc/haproxy/haproxy.cfg \ # 挂载自定义配置 -v $(pwd)/test-output:/tmp/results \ # 持久化测试结果 haproxytech/quic-interop-test:latest
docker-compose 配置示例yamlversion: '3.8' services: haproxy-quic-test: image: haproxytech/quic-interop-test:latest container_name: haproxy-quic-test ports: - "443:443/udp" - "8080:8080/tcp" environment: - TEST_MODE=client - SERVER_ADDR=quic-server:443 # 连接 compose 网络内的 quic-server 服务 - LOG_LEVEL=info - RESULT_EXPORT_PATH=/tmp/results volumes: - ./haproxy-config:/etc/haproxy # 挂载配置目录 - ./test-results:/tmp/results # 挂载结果目录 networks: - quic-test-net depends_on: - quic-server # 依赖外部 QUIC 服务端(示例) quic-server: # 示例外部 QUIC 服务端(可替换为实际测试目标) image: nginx:latest # 假设 nginx 已配置 QUIC 支持 container_name: quic-server ports: - "443:443/udp" networks: - quic-test-net networks: quic-test-net: driver: bridge
sysctl -w net.core.rmem_max=26214400)。jq 工具解析分析(容器内已预装 jq)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务