
Solace PubSub+ CDC Postgres连接器用于在Solace PubSub+ Broker与Postgres CDC(变更数据捕获)系统之间传输数据,实现事件驱动架构中的实时数据同步。本镜像提供灵活的配置方式、健康检查机制及JVM调优选项,适用于需要跨系统数据集成的场景。
适用于事件驱动架构中需将Postgres数据库变更数据实时同步至Solace PubSub+ Broker的场景,如实时数据分析、微服务间数据通信、跨系统数据集成及业务事件流处理等。
连接主机服务
若服务(如PubSub+事件代理)在本地主机暴露,可使用容器平台的特殊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-cdc-postgres:1.0.0
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-cdc-postgres:1.0.0
配置健康检查
可配置健康检查执行以下任务:
healthcheck的只读用户(通过SOLACE_CONNECTOR_SECURITY_USERS_0_NAME和SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD设置用户名和密码)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-cdc-postgres:1.0.0
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-cdc-postgres:1.0.0
可通过以下方式向容器提供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/目录的语义,连接器启动时会自动从以下位置加载配置文件:
/app/external/spring/config/的根目录/app/external/spring/config/的直接子目录提示
若需在同一config目录中为不同环境(如开发、生产)配置多个连接器的配置文件,建议使用Spring Boot Profiles而非子目录。例如:
- 推荐配置:
/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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务