
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
实现自动集群初始化。镜像支持本地开发环境自动完成集群设置,提供couch-helper实用脚本,并基于自定义的极简Debian Linux构建。此外,镜像还集成了来自https://github.com/cabify/couchdb-admin%E7%9A%84couchdb-admin%E5%B7%A5%E5%85%B7%EF%BC%88%E8%AF%A6%E8%A7%81%E8%AF%A5%E9%93%BE%E6%8E%A5%E6%96%87%E6%A1%A3%EF%BC%89%E3%80%82
COUCHDB_DEV_INIT=true可自动完成本地单节点开发集群的初始化,简化开发流程。构建时可通过参数覆盖以下变量,控制镜像构建过程:
COUCHDB_VERSION:安装的CouchDB版本。COUCHDB_RC:发布候选版本号(如适用)。COUCHDB_CHECK_RELEASE:是否在make release前执行make check,布尔值。APP(couchdb)、USER(couchdb)、HOME(/opt/couchdb)。运行时可通过环境变量配置容器行为:
couchdb容器
ERLANG_THREADS:vm.args中+A参数的值。COUCHDB_LOG_LEVEL:local.ini中日志级别(小写)。COUCHDB_DATA_PATH:local.ini中数据库和视图索引的存储路径。COUCHDB_BIND_ADDR:local.ini中chttpd和httpd的绑定地址。COUCHDB_REQUIRE_VALID_USER:local.ini中是否要求有效用户认证。COUCHDB_SHARDS:local.ini中集群分片数(q值)。COUCHDB_READ_QUORUM:local.ini中读一致性(r值)。COUCHDB_WRITE_QUORUM:local.ini中写一致性(w值)。COUCHDB_REPLICAS:local.ini中副本数(n值)。COUCHDB_DEV_INIT:设为true时,启动前后台执行couchdb-dev脚本(适用于本地单节点开发)。COUCHDB_ADMIN_USER/COUCHDB_ADMIN_PASS:集群初始化使用的管理员账号密码。ERLANG_COOKIE:Erlang节点通信的cookie值。COUCHDB_CLUSTER_SIZE:覆盖Kubernetes StatefulSet的副本数(建议仅必要时使用)。couchdiscover容器
LOG_LEVEL:日志输出级别,默认INFO(主要为INFO或WARNING级别)。镜像可从以下地址获取:
docker pull telephoneorg/couchdb运行命令:
bashdocker run -d \ --name couchdb \ -h couchdb.local \ -e "COUCHDB_DEV_INIT=true" \ -e "COUCHDB_ADMIN_USER=admin" \ -e "COUCHDB_ADMIN_PASS=secret" \ -e "ERLANG_COOKIE=test-cookie" \ telephoneorg/couchdb
拉取镜像:
bashdocker-compose pull
启动服务:
bash# 前台启动(容器退出时中止) docker-compose up --abort-on-container-exit # 后台启动 docker-compose up -d
kubernetes/<environment>下的manifest文件适配你的环境。bashkubectl create secret generic erlang \ --from-literal=erlang=$(LC_ALL=C tr -cd '[:alnum:]' < /dev/urandom | head -c 64)
bashkubectl create secret generic couchdb \ --from-literal=user=$(sed $(perl -e "print int rand(99999)")"q;d" /usr/share/dict/words) \ --from-literal=pass=$(LC_ALL=C tr -cd '[:alnum:]' < /dev/urandom | head -c 32)
bashkubectl create -f kubernetes/<environment>
couchdiscover是Kubernetes manifest中的sidecar容器,负责集群初始化:
COUCHDB_CLUSTER_SIZE手动覆盖。主要逻辑在couchdiscover.manage.ClusterManager的run方法中:
python# couchdiscover.manage.ClusterManager def run(self): """Main logic here, this is where we begin once all environment information has been retrieved.""" log.info('Starting couchdiscover: %s', self.couch) if self.couch.disabled: log.info('Cluster disabled, enabling') self.couch.enable() elif self.couch.finished: log.info('Cluster already finished') self.sleep_forever() if self.env.first_node: log.info("Looks like I'm the first node") if self.env.single_node_cluster: log.info('Single node cluster detected') self.couch.finish() else: log.info("Looks like I'm not the first node") self.couch.add_to_master() if self.env.last_node: log.info("Looks like I'm the last node") self.couch.finish() else: log.info("Looks like I'm not the last node") self.sleep_forever()
bashdocker-compose build \ --force-rm \ --build-arg COUCHDB_VERSION=2.1.0 \ --build-arg COUCHDB_RC=1
make checkbashdocker-compose build \ --force-rm \ --build-arg COUCHDB_VERSION=2.1.0 \ --build-arg COUCHDB_RC=1 \ --build-arg COUCHDB_CHECK_RELEASE=true
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 telephoneorg/couchdb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: