
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
gcloud-pubsub-emulator是Google PubSub模拟器的Docker化实现,基于https://github.com/prep/pubsubc项目构建。该镜像提供本地可运行的PubSub服务环境,允许开发和测试阶段无需连接Google Cloud即可使用PubSub功能,简化应用开发流程。
从Docker Hub拉取预构建镜像
bashdocker run --rm -ti -p 8681:8681 docker.xuanyuan.run/messagebird/gcloud-pubsub-emulator:latest
本地构建镜像
bash# 克隆仓库后执行构建 docker build -t gcloud-pubsub-emulator:latest . # 运行本地构建的镜像 docker run --rm -ti -p 8681:8681 docker.xuanyuan.run/gcloud-pubsub-emulator:latest
启动容器后,通过设置PUBSUB_EMULATOR_HOST环境变量将应用程序指向本地模拟器:
bash# 临时设置环境变量并运行应用 env PUBSUB_EMULATOR_HOST=localhost:8681 ./myapp
或
bash# 持久设置环境变量 export PUBSUB_EMULATOR_HOST=localhost:8681 ./myapp
环境变量格式
通过PUBSUB_PROJECTn环境变量(n为从1开始的序号,如PUBSUB_PROJECT1、PUBSUB_PROJECT2)配置项目、主题和订阅,格式如下:
PROJECTID,TOPIC1,TOPIC2:SUBSCRIPTION1:SUBSCRIPTION2,TOPIC3:SUBSCRIPTION3
示例
创建项目company-dev,包含:
invoices,订阅invoice-calculatorchats,订阅slack-out和irc-outnotifications,无订阅bashdocker run --rm -ti -p 8681:8681 \ -e PUBSUB_PROJECT1=company-dev,invoices:invoice-calculator,chats:slack-out:irc-out,notifications \ docker.xuanyuan.run/messagebird/gcloud-pubsub-emulator:latest
多项目配置
通过添加PUBSUB_PROJECT2、PUBSUB_PROJECT3等环境变量支持多个项目:
bashdocker run --rm -ti -p 8681:8681 \ -e PUBSUB_PROJECT1=project1,topic1:sub1 \ -e PUBSUB_PROJECT2=project2,topic2:sub2:sub3,topic3 \ docker.xuanyuan.run/messagebird/gcloud-pubsub-emulator:latest
在Docker Compose等多容器环境中,可使用wait-for或wait-for-it脚本检测服务就绪状态:
示例wait-for-it使用:
bashwait-for-it.sh localhost:8682 -t 60 -- ./dependent-app
| 环境变量 | 说明 | 格式示例 |
|---|---|---|
| PUBSUB_PROJECTn | 定义第n个项目的配置,n从1开始 | PROJECTID,TOPIC1,TOPIC2:SUBSCRIPTION1 |
| PUBSUB_EMULATOR_HOST | 应用程序用于连接模拟器的地址 | localhost:8681 |
yamlversion: '3' services: pubsub: image: messagebird/gcloud-pubsub-emulator:latest ports: - "8681:8681" environment: - PUBSUB_PROJECT1=my-project,orders:order-processor,payments:payment-validator:refund-handler healthcheck: test: ["CMD", "nc", "-z", "localhost", "8682"] interval: 5s timeout: 5s retries: 5 app: build: . depends_on: pubsub: condition: service_healthy environment: - PUBSUB_EMULATOR_HOST=pubsub:8681
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务