
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库包含Google PubSub模拟器的Docker配置,主要是https://github.com/prep/pubsubc%E7%9A%84%E5%AE%B9%E5%99%A8%E5%8C%96%E5%92%8C%E6%96%87%E6%A1%A3%E3%80%82%E5%AE%83%E6%98%AFhttps://github.com/marcelcorso/gcloud-pubsub-emulator%E7%9A%84%E5%88%86%E6%94%AF%E7%89%88%E6%9C%AC%EF%BC%8C%E6%9B%B4%E6%96%B0%E4%BA%86gcloud%E3%80%81OpenJDK%E5%92%8Chttps://github.com/eficode/wait-for%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%E6%BA%90%E4%BB%A3%E7%A0%81%E5%8F%AF%E5%9C%A8https://github.com/beiertu-mms/gcloud-pubsub-emulator%E4%B8%AD%E6%89%BE%E5%88%B0%E3%80%82
latest:基于https://github.com/beiertu-mms/gcloud-pubsub-emulator/tree/master构建的镜像\d+.\d+.\d+:对应特定gcloud版本的构建运行此镜像:
shelldocker run -d -p 8681:8681 -e PUBSUB_PROJECT1=test-project,test-topic tungbeier/gcloud-pubsub-emulator:latest
首先创建docker-compose.yaml文件:
yaml--- services: pubsub-emulator: image: tungbeier/gcloud-pubsub-emulator:latest container_name: pubsub-emulator expose: - "8682" ports: - "8681:8681" environment: - PUBSUB_PROJECT1=test-project,test-topic:test-subscription # 验证模拟器是否运行 wait-for: image: eficode/wait-for:latest container_name: wait-for command: ["pubsub-emulator:8682", "--", "echo", "pubsub emulator is running"] depends_on: - pubsub-emulator
然后运行:
shelldocker-compose up -d
容器启动后,运行应用前需设置PUBSUB_EMULATOR_HOST环境变量,可通过以下方式:
shellexport PUBSUB_EMULATOR_HOST=localhost:8681 ./my-pubsub-app
或直接在运行应用时指定环境变量:
shellenv PUBSUB_EMULATOR_HOST=localhost:8681 ./my-pubsub-app
若需要,可通过启动容器时设置环境变量EMULATOR_PORT(默认:8681)和EMULATOR_READY_PORT(默认:8682)来分别更改模拟器端口和就绪端口。
此镜像支持在启动时创建项目中的主题和订阅,通过指定带序号的PUBSUB_PROJECT环境变量(从1开始依次追加序号)实现。环境变量格式如下:
txtPUBSUB_PROJECT1=PROJECT_1,TOPIC_1,TOPIC_2:SUBSCRIPTION_1:SUBSCRIPTION_2,TOPIC_3:SUBSCRIPTION_3 PUBSUB_PROJECT2=PROJECT_2,TOPIC_4
格式说明:逗号分隔的列表,第一项为项目ID,其余为主题;主题内部用冒号分隔,第一项为主题ID,其余为订阅ID。主题可不指定订阅,创建的订阅为拉取订阅。
注意:至少需要提供PUBSUB_PROJECT1,且包含项目ID和至少一个主题。
示例:项目ID为company-dev,包含主题invoices(订阅invoice-calculator)、chats(订阅slack-out和irc-out)和notifications(无订阅),定义如下:
txtPUBSUB_PROJECT1=company-dev,invoices:invoice-calculator,chats:slack-out:irc-out,notifications
完整命令:
shelldocker run -d \ -p 8681:8681 \ -e PUBSUB_PROJECT1=company-dev,invoices:invoice-calculator,chats:slack-out:irc-out,notifications \ tungbeier/gcloud-pubsub-emulator:latest
如需定义多个项目,可添加PUBSUB_PROJECT2、PUBSUB_PROJECT3等。
容器启动后,模拟器端口(默认8681)会先开放。创建完所有指定的项目、主题和订阅后,就绪端口(默认8682)会开放。在docker-compose等场景中,可使用https://github.com/eficode/wait-for%E6%88%96https://github.com/vishnubob/wait-for-it%E7%AD%89%E8%84%9A%E6%9C%AC%E6%A3%80%E6%B5%8B%E5%B0%B1%E7%BB%AA%E7%AB%AF%E5%8F%A3%EF%BC%8C%E7%A1%AE%E4%BF%9D%E4%BE%9D%E8%B5%96%E6%9C%8D%E5%8A%A1%E5%9C%A8PubSub%E6%A8%A1%E6%8B%9F%E5%99%A8%E5%AE%8C%E5%85%A8%E5%B0%B1%E7%BB%AA%E5%90%8E%E5%90%AF%E5%8A%A8%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务