
gcloud-pubsub-emulator是Google PubSub模拟器的Docker化实现,基于https://github.com/prep/pubsubc%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E6%8F%90%E4%BE%9B%E4%BA%86%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C%E7%9A%84PubSub%E6%9C%8D%E5%8A%A1%E7%8E%AF%E5%A2%83%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8E%E5%BC%80%E5%8F%91%E5%92%8C%E6%B5%8B%E8%AF%95%E9%98%B6%E6%AE%B5%EF%BC%8C%E9%81%BF%E5%85%8D%E7%9B%B4%E6%8E%A5%E4%BE%9D%E8%B5%96%E4%BA%91%E7%AB%AFGoogle Cloud PubSub服务,降低开发成本并提高测试效率。
直接使用Docker Hub镜像
bashdocker run --rm -ti -p 8681:8681 messagebird/gcloud-pubsub-emulator:latest
本地构建镜像
bash# 克隆仓库后执行构建 docker build -t gcloud-pubsub-emulator:latest . # 运行本地构建的镜像 docker run --rm -ti -p 8681:8681 gcloud-pubsub-emulator:latest
启动容器后,通过设置PUBSUB_EMULATOR_HOST环境变量让应用连接到模拟器:
bash# 临时设置环境变量并运行应用 env PUBSUB_EMULATOR_HOST=localhost:8681 ./myapp # 或永久设置环境变量 export PUBSUB_EMULATOR_HOST=localhost:8681 ./myapp
通过PUBSUB_PROJECTn环境变量(n为从1开始的序号)配置项目、主题及订阅,格式如下:
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 \ 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 \ messagebird/gcloud-pubsub-emulator:latest
在Docker Compose等场景中,可通过端口检测服务状态:
8681(服务启动完成)8682(服务及所有主题/订阅创建完成)示例(使用wait-for-it):
bashwait-for-it.sh localhost:8682 -t 60 -- ./myapp
| 环境变量 | 说明 | 示例 |
|---|---|---|
| PUBSUB_PROJECTn | 配置项目、主题和订阅(n为1,2,3...) | PUBSUB_PROJECT1=my-project,topic1:sub1,topic2 |
| PUBSUB_EMULATOR_HOST | 应用连接模拟器的地址(由应用设置) | localhost:8681 |
| 端口 | 用途 |
|---|---|
| 8681 | PubSub服务端口 |
| 8682 | 资源创建完成状态端口(仅当使用PUBSUB_PROJECT时可用) |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务