
Solace Corporation [***]
版本:2.7.12
版本日期:2025-07-11
Solace PubSub+ Connector for GCP Pub/Sub在Solace PubSub+ Event Broker与GCP Pub/Sub之间桥接数据,为GCP Pub/Sub应用数据与基于Solace的事件驱动架构及事件网格(Event Mesh)集成提供灵活高效的方式。该连接器可独立部署,或采用“主备”(active-standby)、“主主”(active-active)冗余模式部署,以实现数据传输的高可用性和水平扩展。每个连接器实例支持最多20个独立工作流(源到目标管道),减少需部署和管理的连接器实例数量。通过使用多种Spring框架技术,可轻松配置连接器、实现高级日志功能,并将实时指标数据导出到外部监控解决方案。
发布说明
创建名为config的目录
在config目录中创建application.yml或application.properties文件,包含连接器所需的属性配置
已通过gcloud cli设置应用默认凭据(ADC),且application_default_credentials.json位于默认位置
在application.yml或application.properties中设置属性spring.cloud.gcp.credentials.location为/app/external/gcp/config/application_default_credentials.json
使用最小配置运行容器:
Docker
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ -v $HOME/.config/gcloud/application_default_credentials.json:/app/external/gcp/config/application_default_credentials.json:ro \ solace/solace-pubsub-connector-gcppubsub:2.7.12
Podman
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ -v $HOME/.config/gcloud/application_default_credentials.json:/app/external/gcp/config/application_default_credentials.json:ro \ solace/solace-pubsub-connector-gcppubsub:2.7.12
注意
在Windows系统中,application_default_credentials.json的默认位置为%APPDATA%\gcloud\application_default_credentials.json,请相应调整卷挂载路径。
提示
假设Google Cloudapplication_default_credentials.json位于默认位置,后续所有docker/podman命令需根据环境添加卷挂载:
Linux/MacOS:
-v $HOME/.config/gcloud/application_default_credentials.json:/app/external/gcp/config/application_default_credentials.json:ro \
Windows:
-v %APPDATA%\gcloud\application_default_credentials.json:/app/external/gcp/config/application_default_credentials.json:ro \
如果服务(如PubSub+ event broker)在本地主机暴露,可使用容器平台的特殊DNS名称通过SOLACE_JAVA_HOST引用,该名称解析为主机使用的内部IP地址。
Docker示例命令:
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ --env SOLACE_JAVA_HOST=host.docker.internal:55555 \ solace/solace-pubsub-connector-gcppubsub:2.7.12
Podman示例命令:
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ --env SOLACE_JAVA_HOST=host.containers.internal:55555 \ solace/solace-pubsub-connector-gcppubsub:2.7.12
可配置健康检查执行以下任务:
SOLACE_CONNECTOR_SECURITY_USERS_0_NAME和SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD创建名为healthcheck的只读用户及密码healthcheck用户轮询容器的管理健康端点,若连接器不健康则检查失败容器健康检查配置示例命令:
Docker示例:
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/application.yml:/app/external/spring/config/application.yml:ro \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_NAME=healthcheck \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD=healthcheck \ --healthcheck-command="curl -X GET -u healthcheck:healthcheck --fail localhost:8090/actuator/health" \ solace/solace-pubsub-connector-gcppubsub:2.7.12
Podman示例:
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/application.yml:/app/external/spring/config/application.yml:ro \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_NAME=healthcheck \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD=healthcheck \ --healthcheck-command="curl -X GET -u healthcheck:healthcheck --fail localhost:8090/actuator/health" \ solace/solace-pubsub-connector-gcppubsub:2.7.12
可通过以下方式向容器提供Spring配置属性:
容器需要以下端口:
| 端口 | 用途 |
|---|---|
8090 | 连接器的管理端点 |
以下是支持创建卷和绑定挂载的目录:
| 内容 | 容器路径 | 可选性 | 推荐权限 |
|---|---|---|---|
| Spring配置文件 | /app/external/spring/config/ | 除非所有属性都通过环境变量定义,否则必需 | 只读 |
| 库文件 | /app/external/libs/ | 必需 | 只读 |
| 类路径文件 | /app/external/classpath/ | 可选 | 只读 |
| 输出文件 | /app/external/output/ | 可选 | 读写 |
Spring配置文件卷用于添加Spring配置文件(如application.yml等),需添加只读卷或绑定挂载到/app/external/spring/config/。
该目录遵循Spring默认config/目录的语义,连接器启动时会自动从以下位置查找并加载Spring配置文件:
/app/external/spring/config/的根目录/app/external/spring/config/的直接子目录提示
若需在同一config目录中为不同环境(如开发、生产)配置多个连接器的配置文件,建议使用Spring Boot配置文件而非子目录。例如:
- 推荐配置:
/app/external/spring/config/application-prod.yml/app/external/spring/config/application-dev.yml- 不推荐配置:
/app/external/spring/config/prod/application.yml/app/external/spring/config/dev/application.yml
子目录用于合并多个配置源的配置属性。有关何时可能需要使用多个子目录组合应用配置的示例,详见Spring Boot文档。
库文件卷用于添加额外库,需添加只读卷或绑定挂载到/app/external/libs/。
该目录用于存放仅在使用连接器特定功能时所需的Java库依赖(外部JAR文件),例如使用连接器配置中的Prometheus指标导出功能时所需的Prometheus库。
详见ZIP包中连接器libs目录下的文档。
类路径文件卷用于添加任意文件(非JAR库或Spring Boot配置文件),需添加只读卷或绑定挂载到/app/external/classpath/。
注意
该目录不得包含库JAR文件或Spring Boot配置文件,否则可能导致库无法在连接器部署时被正确加载,或覆盖连接器内部配置。
输出文件卷用于支持写入输出文件的功能(如文件日志),需添加读写卷或绑定挂载到/app/external/output/目录。
重要
使用生成文件的功能时,必须将功能配置为将文件生成到/app/external/output/目录。生成文件到其他目录不受支持。
可通过在容器上设置JDK_JAVA_OPTIONS环境变量配置Java虚拟机(JVM)。
详见JDK文档。
提示
本容器作为示例提供,已通过以下配置测试:
- 两个活动处理器(使用
-XX:ActiveProcessorCount=2指定)- 最大堆内存2 GB(使用
-Xmx2048m指定)
通过Solace开发者社区提供尽力支持。
提供高级支持选项,详情请联系Solace。
本项目采用Solace社区许可证1.0版。详见容器/licenses目录下的LICENSE文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






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