
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 集群地址(格式:http://host:port,多个节点用逗号分隔) | 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服务 - "11210:11210" # 数据服务 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 登录认证访问私有仓库
无需登录使用专属域名
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
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务