Couchbase Elasticsearch Connector 是一款用于在 Couchbase 数据库与 Elasticsearch 搜索引擎之间实现数据同步的工具镜像。其核心功能是建立两者间的实时或近实时数据通道,将 Couchbase 中的文档数据同步至 Elasticsearch 索引,支持数据的全量迁移与增量更新,帮助用户基于 Elasticsearch 的强大搜索能力构建高效的全文检索、数据分析及业务查询系统。
| 环境变量名 | 描述 | 默认值 | 必填 |
|---|---|---|---|
COUCHBASE_HOST | Couchbase 集群地址(格式:host:port,多个节点用逗号分隔) | localhost:8091 | 是 |
COUCHBASE_USER | Couchbase 访问用户名(需具备目标 Bucket 的读权限) | - | 是 |
COUCHBASE_PASSWORD | Couchbase 用户密码 | - | 是 |
COUCHBASE_BUCKET | 待同步的 Couchbase Bucket 名称 | - | 是 |
COUCHBASE_SCOPE | 待同步的 Scope 名称(默认同步所有 Scope,指定后仅同步目标 Scope) | _default | 否 |
COUCHBASE_COLLECTION | 待同步的 Collection 名称(默认同步所有 Collection,指定后仅同步目标) | _default | 否 |
ELASTICSEARCH_HOST | Elasticsearch 集群地址(格式:[***],多个节点用逗号分隔) | localhost:9200 | 是 |
ELASTICSEARCH_USER | Elasticsearch 访问用户名(需具备索引写入权限) | elastic | 否 |
ELASTICSEARCH_PASSWORD | Elasticsearch 用户密码 | - | 否 |
ELASTICSEARCH_INDEX | 目标 Elasticsearch 索引名称(支持动态命名,如 product_{bucket}) | couchbase_sync | 否 |
SYNC_MODE | 同步模式:full(全量)、incremental(增量)、full+incremental(全量+增量) | incremental | 否 |
BATCH_SIZE | 批处理大小(每次同步的文档数量) | 1000 | 否 |
CONNECT_TIMEOUT | 连接超时时间(单位:毫秒) | 5000 | 否 |
INDEX_MAPPING_FILE | Elasticsearch 索引映射配置文件路径(容器内路径) | - | 否 |
bashdocker run -d \ --name couchbase-elasticsearch-connector \ -e COUCHBASE_HOST="couchbase-node1:8091,couchbase-node2:8091" \ -e COUCHBASE_USER="admin" \ -e COUCHBASE_PASSWORD="password123" \ -e COUCHBASE_BUCKET="ecommerce_products" \ -e COUCHBASE_SCOPE="inventory" \ -e COUCHBASE_COLLECTION="products" \ -e ELASTICSEARCH_HOST="elasticsearch:9200" \ -e ELASTICSEARCH_USER="elastic" \ -e ELASTICSEARCH_PASSWORD="es-password" \ -e ELASTICSEARCH_INDEX="products_index" \ -e SYNC_MODE="full+incremental" \ -e BATCH_SIZE=2000 \ -v /local/mapping.json:/app/index_mapping.json \ # 挂载索引映射配置文件 couchbase/elasticsearch-connector:latest
yamlversion: '3.8' services: couchbase: image: couchbase/server:7.2.0 ports: - "8091:8091" # Web控制台 - "8093:8093" # Query服务 - "***:***" # 数据服务 environment: - COUCHBASE_ADMIN_USER=admin - COUCHBASE_ADMIN_PASSWORD=password123 volumes: - couchbase-data:/opt/couchbase/var elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.10.4 environment: - discovery.type=single-node - ES_JAVA_OPTS="-Xms512m -Xmx512m" - xpack.security.enabled=true - ELASTIC_PASSWORD=es-password ports: - "9200:9200" volumes: - elasticsearch-data:/usr/share/elasticsearch/data connector: image: couchbase/elasticsearch-connector:latest depends_on: - couchbase - elasticsearch environment: - COUCHBASE_HOST="couchbase:8091" - COUCHBASE_USER="admin" - COUCHBASE_PASSWORD="password123" - COUCHBASE_BUCKET="ecommerce_products" - ELASTICSEARCH_HOST="elasticsearch:9200" - ELASTICSEARCH_USER="elastic" - ELASTICSEARCH_PASSWORD="es-password" - SYNC_MODE="full+incremental" - BATCH_SIZE=1000 volumes: - ./mapping.json:/app/index_mapping.json # 索引映射配置文件 volumes: couchbase-data: elasticsearch-data:
full:仅执行全量同步,扫描目标 Bucket/Scope/Collection 所有文档并同步至 Elasticsearch,完成后退出。incremental:仅监听 Couchbase DCP 变更流,同步新增/更新/删除的文档(需 Couchbase 开启 DCP 功能)。full+incremental:先执行全量同步,完成后自动切换为增量模式,持续监听变更。通过挂载外部 JSON 文件定义 Elasticsearch 索引映射(如字段类型、分词器),示例 mapping.json:
json{ "mappings": { "properties": { "product_id": { "type": "keyword" }, "name": { "type": "text", "analyzer": "ik_max_word" }, "price": { "type": "double" }, "stock": { "type": "integer" }, "create_time": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" } } } }
控制每次同步的文档数量,建议根据数据大小调整:
data_reader 角色;Elasticsearch 用户需具备 index:write 权限。INDEX_MAPPING_FILE 自动创建),避免字段类型冲突。COUCHBASE_HOST。--cpus 和 -m 限制容器资源(如 --cpus 2 -m 4g)。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429