
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 调整容器文件描述符限制,避免连接数受限。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务