
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Mercure 是一个开源的实时通信解决方案,旨在提供快速、可靠且电池高效的服务器发送实时更新(Server-Sent Events, SSE)能力。作为 WebSocket API 及相关高级库/服务的现代替代品,Mercure 基于 HTTP 和 SSE 协议构建,原生支持现代 Web 浏览器、移动应用及 IoT 设备。其核心用途是为 REST 和 GraphQL API 添加流式和异步通信能力,实现服务器到客户端的实时数据推送。
官方 Docker 镜像 dunglas/mercure 提供了 Mercure 协议参考实现(hub,即服务器)的容器化部署方式,支持生产环境使用,同时提供免费(开源)版本及托管服务选项。
EventSource API)、移动应用及 IoT 设备。4.1.1 使用 docker run 启动
以下命令启动 Mercure hub,监听本地 8080 端口(开发环境配置,生产环境需强化安全设置):
bashdocker run -d \ -p 8080:8080 \ -e MERCURE_PUBLISHER_JWT_KEY='your-publisher-secret' \ -e MERCURE_SUBSCRIBER_JWT_KEY='your-subscriber-secret' \ -e MERCURE_EXTRA_DIRECTIVES='cors_origins *' \ -e MERCURE_ALLOW_ANONYMOUS=1 \ dunglas/mercure
4.1.2 使用 docker-compose 部署
创建 docker-compose.yml 文件,配置持久化、网络及环境变量:
yamlversion: '3.8' services: mercure: image: dunglas/mercure ports: - "8080:8080" # HTTP 端口(生产环境建议替换为 443 并启用 HTTPS) environment: - MERCURE_LISTEN_ADDR=:8080 - MERCURE_PUBLISHER_JWT_KEY=your-secure-publisher-key # 生产环境使用强密钥 - MERCURE_SUBSCRIBER_JWT_KEY=your-secure-subscriber-key - MERCURE_CORS_ORIGINS=https://your-frontend.example.com # 限制允许的前端域名 - MERCURE_ALLOW_ANONYMOUS=0 # 禁用匿名订阅 - MERCURE_DEBUG=0 # 禁用调试模式 volumes: # 挂载 SSL 证书(生产环境启用 HTTPS 时需配置) # - ./certs:/etc/mercure/certs restart: unless-stopped
启动服务:
bashdocker-compose up -d
Mercure 镜像通过环境变量进行配置,以下为常用核心配置项(完整列表请参考 官方文档):
| 环境变量 | 描述 | 默认值 |
|---|---|---|
MERCURE_LISTEN_ADDR | 服务监听地址和端口(如 :8080 表示所有接口的 8080 端口) | :80 |
MERCURE_PUBLISHER_JWT_KEY | 用于验证发布者 JWT 的密钥(HMAC 密钥或 RSA/EC 公钥) | 无(必填) |
MERCURE_SUBSCRIBER_JWT_KEY | 用于验证订阅者 JWT 的密钥(可与发布者密钥相同) | 无(必填) |
MERCURE_CORS_ORIGINS | 允许的跨域请求源(逗号分隔,* 表示允许所有,生产环境建议指定具体域名) | * |
MERCURE_ALLOW_ANONYMOUS | 是否允许***订阅(0 禁用,1 启用,生产环境建议禁用) | 0 |
MERCURE_EXTRA_DIRECTIVES | 额外的 Nginx 配置指令(如自定义 CORS、缓存策略) | 无 |
MERCURE_DEBUG | 是否启用调试模式(1 启用,0 禁用,生产环境建议禁用) | 0 |
MERCURE_PUBLISHER_JWT_KEY 和 MERCURE_SUBSCRIBER_JWT_KEY),推荐使用 RSA/EC 密钥对而非 HMAC 密钥。MERCURE_LISTEN_ADDR=:443 启用 HTTPS,避免 SSE 连接被拦截。MERCURE_CORS_ORIGINS 应指定具体前端域名,而非使用 *,增强安全性。Mercure 参考实现(hub)采用 AGPLv3 许可协议,详细条款见 官方许可文档。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务