
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 \ docker.xuanyuan.run/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" \ docker.xuanyuan.run/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/。该目录遵循https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files%E7%9A%84%E8%AF%AD%E4%B9%89%EF%BC%8C%E8%BF%9E%E6%8E%A5%E5%99%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BC%9A%E8%87%AA%E5%8A%A8%E4%BB%8E%E4%BB%A5%E4%B8%8B%E4%BD%8D%E7%BD%AE%E5%8A%A0%E8%BD%BD%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A
/app/external/spring/config/的根目录/app/external/spring/config/的直接子目录提示
若需在同一config目录中为不同环境(如开发、生产)配置多个连接器的配置文件,建议使用https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files.profile-specific%E8%80%8C%E9%9D%9E%E5%AD%90%E7%9B%AE%E5%BD%95%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%9A
- 推荐配置:
/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子目录用于合并多个配置源的配置,更多信息见https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files.wildcard-locations%E3%80%82
卷:库
用于添加额外库,需挂载只读卷或绑定至/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)。详情见https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html#using-the-jdk_java_options-launcher-environment-variable%E3%80%82
提示
本容器作为示例,已使用以下参数测试:
- 两个活动处理器(通过
-XX:ActiveProcessorCount=2指定)- 最大堆内存2 GB(通过
-Xmx2048m指定)
通过Solace开发者社区提供尽力支持。高级支持选项可用,请https://solace.com/contact-us%E3%80%82
本项目采用Solace社区许可1.0版。详情见容器内/licenses目录下的LICENSE文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务