quiche Docker镜像是基于Cloudflare quiche 项目(https://github.com/cloudflare/quiche%EF%BC%89%E6%9E%84%E5%BB%BA%E7%9A%84%E5%AE%B9%E5%99%A8%E5%8C%96%E9%83%A8%E7%BD%B2%E5%8C%85%EF%BC%8C%E4%B8%93%E9%97%A8%E4%B8%BA quic-interop-runner(https://github.com/marten-seemann/quic-interop-runner%EF%BC%89%E8%AE%BE%E8%AE%A1%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%8F%90%E4%BE%9BQUIC%E5%8D%8F%E8%AE%AE%E4%BA%92%E6%93%8D%E4%BD%9C%E6%80%A7%E6%B5%8B%E8%AF%95%E7%9A%84%E6%A0%87%E5%87%86%E5%8C%96%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E5%B0%81%E8%A3%85%E4%BA%86quiche%E7%9A%84QUIC%E5%8D%8F%E8%AE%AE%E5%AE%9E%E7%8E%B0%EF%BC%8C%E4%BD%9C%E4%B8%BA%E6%B5%8B%E8%AF%95%E8%8A%82%E7%82%B9%E5%8F%82%E4%B8%8EQUIC%E5%8D%8F%E8%AE%AE%E7%9A%84%E8%B7%A8%E5%AE%9E%E7%8E%B0%E5%85%BC%E5%AE%B9%E6%80%A7%E9%AA%8C%E8%AF%81%E3%80%82
quic-interop-runner 测试框架的测试参与者(participant),提供基于quiche实现的QUIC服务端(Server)和客户端(Client)quic-interop-runner 测试框架深度集成,支持框架定义的标准测试用例(如吞吐量、连接迁移、错误处理等)quic-interop-runner 的客户端/服务端角色切换,可通过环境变量动态配置测试模式4.1.1 从Docker Hub拉取(推荐)
bashdocker pull marten-seemann/quiche:latest # 或指定版本标签,如v1.0.0
4.1.2 从源码构建
若需自定义构建,可基于 https://github.com/marten-seemann/quic-interop-runner 项目中的 quiche 镜像定义构建:
bashgit clone https://github.com/marten-seemann/quic-interop-runner.git cd quic-interop-runner/images/quiche docker build -t quiche:local .
4.2.1 作为QUIC服务端运行
启动quiche服务端,监听UDP端口并提供HTTP/3服务:
bashdocker run -d --name quiche-server \ -e PORT=4433 \ -e CERT_PATH=/certs/cert.pem \ -e KEY_PATH=/certs/key.pem \ -v $(pwd)/certs:/certs:ro \ -p 4433:4433/udp \ marten-seemann/quiche:latest server
-v $(pwd)/certs:/certs:ro:挂载本地TLS证书目录(需提前准备自签名证书,见4.4注意事项)-p 4433:4433/udp:映射UDP端口(QUIC基于UDP)4.2.2 作为QUIC客户端运行
启动quiche客户端,向目标服务端发起HTTP/3请求:
bashdocker run --rm \ -e SERVER_ADDR=192.168.1.100:4433 \ -e REQUEST_PATH=/index.html \ -e LOG_LEVEL=info \ marten-seemann/quiche:latest client
SERVER_ADDR:目标服务端地址(IP:端口)REQUEST_PATH:HTTP/3请求路径4.3.1 集成步骤
interop.cfg)中指定quiche为测试参与者:
yamlparticipants: - name: quiche image: marten-seemann/quiche:latest server_cmd: "/run.sh server" # 服务端启动命令 client_cmd: "/run.sh client" # 客户端启动命令
bashpython3 run.py --clients quiche --servers ngtcp2 --test case_http3_get
4.3.2 测试框架集成模式配置
通过环境变量与 quic-interop-runner 通信(由测试框架自动注入,无需手动设置):
ROLE:测试角色(server 或 client)TESTCASE:当前执行的测试用例(如 http3_get、multistream)REMOTE_IP:对端节点IP(由框架分配)| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
PORT | 服务端监听UDP端口 | 4433 | 8080 |
CERT_PATH | TLS证书文件路径(容器内路径) | /certs/cert.pem | /etc/quiche/tls.crt |
KEY_PATH | TLS私钥文件路径(容器内路径) | /certs/key.pem | /etc/quiche/tls.key |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | debug |
PROTOCOL | 上层协议(http3 或 quic) | http3 | quic |
MAX_STREAMS | 最大并发双向流数 | 100 | 200 |
INITIAL_CWND | 初始拥塞窗口(字节) | ***(10个MSS) | 29440 |
SERVER_ADDR | 客户端模式下的目标服务端地址 | - | 192.168.1.100:4433 |
REQUEST_PATH | HTTP/3客户端请求路径 | / | /large-file.bin |
以下为集成quiche服务端与客户端的docker-compose配置(用于本地测试):
yamlversion: "3.8" services: quiche-server: image: marten-seemann/quiche:latest command: server environment: - PORT=4433 - CERT_PATH=/certs/cert.pem - KEY_PATH=/certs/key.pem - LOG_LEVEL=debug volumes: - ./certs:/certs:ro # 挂载本地证书目录(需提前生成) ports: - "4433:4433/udp" networks: quic-test-net: ipv4_address: 10.0.0.2 quiche-client: image: marten-seemann/quiche:latest command: client environment: - SERVER_ADDR=10.0.0.2:4433 - REQUEST_PATH=/ - LOG_LEVEL=info depends_on: - quiche-server networks: quic-test-net: ipv4_address: 10.0.0.3 networks: quic-test-net: driver: bridge ipam: config: - subnet: 10.0.0.0/24
TLS证书要求:
服务端模式需提供有效的TLS证书(自签名证书可用于测试),推荐使用OpenSSL生成:
bashopenssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 -subj "/CN=quiche-test"
网络配置:
QUIC基于UDP协议,需确保容器网络开放UDP端口(如 docker run -p 4433:4433/udp),宿主机防火墙需允许UDP流量。
版本兼容性:
镜像标签应与 quic-interop-runner 版本匹配(如 quiche:v1.0.0 对应 quic-interop-runner v1.0),避免因测试框架API变更导致集成失败。
资源限制:
高并发测试场景下,建议通过 --ulimit nofile=65535:65535 调整容器文件描述符限制,避免连接数受限。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务