
如果你使用 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的容器化和文档。它是https://github.com/marcelcorso/gcloud-pubsub-emulator的分支版本,更新了https://cloud.google.com/sdk/gcloud、https://openjdk.org和https://github.com/eficode/wait-for的版本。源代码可在https://github.com/beiertu-mms/gcloud-pubsub-emulator中找到。
latest:基于https://github.com/beiertu-mms/gcloud-pubsub-emulator/tree/master构建的镜像\d+.\d+.\d+:对应https://cloud.google.com/release-notes的构建运行此镜像:
shelldocker run -d -p 8681:8681 -e PUBSUB_PROJECT1=test-project,test-topic docker.xuanyuan.run/tungbeier/gcloud-pubsub-emulator:latest
首先创建docker-compose.yaml文件:
yaml--- services: pubsub-emulator: image: docker.xuanyuan.run/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: docker.xuanyuan.run/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 \ docker.xuanyuan.run/tungbeier/gcloud-pubsub-emulator:latest
如需定义多个项目,可添加PUBSUB_PROJECT2、PUBSUB_PROJECT3等。
容器启动后,模拟器端口(默认8681)会先开放。创建完所有指定的项目、主题和订阅后,就绪端口(默认8682)会开放。在docker-compose等场景中,可使用https://github.com/eficode/wait-for或https://github.com/vishnubob/wait-for-it等脚本检测就绪端口,确保依赖服务在PubSub模拟器完全就绪后启动。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务