
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Joe Black | <***> | https://github.com/joeblackwaslike
这是一个最小化的CouchDB 2.0镜像,包含用于自动集群初始化的sidecar容器,支持本地开发环境自动完成集群配置,并提供couch-helper工具脚本。镜像基于自定义的Debian Linux(Jessie版本)构建,压缩后大小约22MB。
构建时可通过参数覆盖以下变量:
ERLANG_VERSION:Erlang版本COUCHDB_VERSION:CouchDB版本APP:应用名称(默认couchdb)USER:运行用户(默认couchdb)HOME:应用目录(默认/opt/couchdb)CouchDB容器
ERLANG_THREADS:Erlang线程数,默认25COUCHDB_LOG_LEVEL:日志级别,默认infoCOUCHDB_DATA_PATH:数据存储路径,默认/data/couchdbCOUCHDB_BIND_ADDR:绑定地址,默认0.0.0.0COUCHDB_REQUIRE_VALID_USER:是否需要有效用户认证,默认falseCOUCHDB_SHARDS:集群分片数,默认4COUCHDB_READ_QUORUM:读法定人数,默认1COUCHDB_WRITE_QUORUM:写法定人数,默认1COUCHDB_REPLICAS:副本数,默认1LOCAL_DEV_CLUSTER:是否为本地开发集群,默认falseCOUCHDB_ADMIN_USER/COUCHDB_ADMIN_PASS:管理员账号密码,用于集群初始化ERLANG_COOKIE:Erlang节点通信cookieCOUCHDB_CLUSTER_SIZE:集群大小(覆盖StatefulSet副本数,不建议随意修改)couchdiscover容器
LOG_LEVEL:日志级别,默认INFObashdocker run -d \ --name couchdb \ -h couchdb.local \ -e "LOCAL_DEV_CLUSTER=true" \ -e "COUCHDB_ADMIN_USER=admin" \ -e "COUCHDB_ADMIN_PASS=secret" \ -e "ERLANG_COOKIE=test-cookie" \ docker.xuanyuan.run/callforamerica/couchdb
拉取镜像:
bashdocker-compose pull
前台启动:
bashdocker-compose up --abort-on-container-exit
后台启动:
bashdocker-compose up -d
bashkubectl create secret generic erlang-cookie --from-literal=erlang.cookie=$(LC_ALL=C tr -cd '[:alnum:]' < /dev/urandom | head -c 64)
bashkubectl create secret generic couchdb-creds --from-literal=couchdb.user=$(sed $(perl -e "print int rand(99999)")"q;d" /usr/share/dict/words) --from-literal=couchdb.pass=$(LC_ALL=C tr -cd '[:alnum:]' < /dev/urandom | head -c 32)
bashkubectl create -f kubernetes/<environment>
couchdiscover是Kubernetes清单中的sidecar容器,负责集群初始化。其工作原理如下:
COUCHDB_CLUSTER_SIZE覆盖)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()
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 callforamerica/couchdb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: