
couchbase/sync-gatewayCouchbase Sync Gateway是一个水平扩展的Web服务器,用于安全管理Couchbase Lite(移动/边缘设备数据库)与Couchbase Server(后端数据库)之间的数据访问控制和同步。本Docker容器提供了便捷的部署方式,适用于开发、测试和生产环境中快速搭建数据同步服务。
适用于需要在移动应用、边缘设备与后端服务器之间实现双向数据同步的场景,如:
bash$ docker run -d --name sgw -p 4984:4984 couchbase/sync-gateway
验证服务是否启动成功:
bash$ curl http://localhost:4984 {"couchdb":"Welcome","vendor":{"name":"Couchbase Sync Gateway","version":"2.5"},"version":"Couchbase Sync Gateway/2.5.0(271;bf3ddf6) EE"}
使用Docker日志命令查看Sync Gateway运行日志:
bash$ docker logs sgw 2019-05-14T12:59:22.418Z ==== Couchbase Sync Gateway/2.5.0(271;bf3ddf6) EE ==== 2019-05-14T12:59:22.418Z [INF] Logging: Console to stderr 2019-05-14T12:59:22.418Z [INF] Logging: Files to /var/log/sync_gateway 2019-05-14T12:59:22.418Z [INF] Logging: Console level: info 2019-05-14T12:59:22.418Z [INF] Logging: Console keys: [HTTP] ...
默认情况下,管理端口4985仅允许从容器内部访问(出于安全考虑)。
进入运行中的容器shell:
bash$ docker exec -ti sgw bash
在容器内部执行curl命令:
bash# curl http://localhost:4985 {"ADMIN":true,"couchdb":"Welcome","vendor":{"name":"Couchbase Sync Gateway","version":"2.5"},"version":"Couchbase Sync Gateway/2.5.0(271;bf3ddf6) EE"}
如需将管理端口暴露到主机(存在安全风险),按以下步骤操作:
停止当前运行的容器:
bashdocker stop sgw
使用指定参数启动容器:
bash$ docker run -p 4984-4985:4984-4985 -d couchbase/sync-gateway -adminInterface :4985
从主机验证管理端口访问:
bash$ curl http://localhost:4985 {"ADMIN":true,"couchdb":"Welcome","vendor":{"name":"Couchbase Sync Gateway","version":"2.5"},"version":"Couchbase Sync Gateway/2.5.0(271;bf3ddf6) EE"}
准备本地配置文件:
3.0.0及以上版本:
bash$ cd /tmp $ wget [***] $ mv basic.json my-sg-config.json $ vi my-sg-config.json # 编辑配置
旧版本(如2.8.3):
bash$ cd /tmp $ wget [***] $ mv serviceconfig.json my-sg-config.json $ vi my-sg-config.json # 编辑配置
挂载配置文件启动容器:
bash$ docker run -p 4984:4984 -d -v /tmp:/tmp/config couchbase/sync-gateway /tmp/config/my-sg-config.json
Sync Gateway支持直接从公共URL加载配置:
3.0.0及以上版本:
bash$ docker run -p 4984:4984 -d couchbase/sync-gateway [***]
旧版本(如2.8.3):
bash$ docker run -p 4984:4984 -d couchbase/sync-gateway [***]
创建Docker网络:
bash$ docker network create --driver bridge couchbase
启动Couchbase Server容器:
bash$ docker run --net=couchbase -d --name couchbase-server -p 8091-8094:8091-8094 -p ***:*** couchbase
访问http://localhost:8091完成Couchbase Server初始化配置。
创建Sync Gateway配置文件(连接到Couchbase Server):
json{ "logging": { "console": { "enabled": true, "log_level": "info", "log_keys": ["HTTP"] } }, "databases": { "db": { "server": "[***]", "bucket": "default", "username": "Administrator", "password": "password", "users": { "GUEST": { "disabled": false, "admin_channels": ["*"] } } } } }
启动Sync Gateway容器(加入相同网络):
bash$ docker run --net=couchbase -p 4984:4984 -v /tmp:/tmp/config -d couchbase/sync-gateway /tmp/config/my-sg-config.json
如需收集诊断信息用于技术支持:
bash# curl -X POST http://localhost:4985/_sgcollect_info -H 'Content-Type: application/json' -d '{}'
详细参数说明参见sgcollect_info文档。
Couchbase软件分为两个版本:
企业版(Enterprise Edition):免费用于开发和测试,生产环境需付费订阅。详情参见定价页面。
社区版(Community Edition):免费部署,适用于最多5个节点的部门级集群,不包含XDCR等企业版专属功能。版本差异详情参见Couchbase Server版本说明。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务