如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
** 注意 **:这是 https://hub.docker.com/_/couchdb 的 arm64v8 架构构建的“按架构”仓库——更多信息,请参见官方镜像文档中的“https://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E4%BB%A5%E5%8F%8A%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F FAQ 中的“https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
-** 维护者 **:
https://github.com/apache/couchdb-docker
-** 获取帮助 **:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接https://github.com/apache/couchdb-docker/blob/2660034027fec97097f88afcc6f8a4416c364b24/3.5.0/Dockerfile
https://github.com/apache/couchdb-docker/blob/2660034027fec97097f88afcc6f8a4416c364b24/3.5.0-nouveau/Dockerfile
https://github.com/apache/couchdb-docker/blob/2660034027fec97097f88afcc6f8a4416c364b24/3.4.3/Dockerfile
https://github.com/apache/couchdb-docker/blob/2660034027fec97097f88afcc6f8a4416c364b24/3.4.3-nouveau/Dockerfile
-** 问题提交地址 **:
https://github.com/apache/couchdb-docker/issues?q=
-** 支持的架构 **:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/couchdb/%E3%80%81https://hub.docker.com/r/arm64v8/couchdb/%E3%80%81https://hub.docker.com/r/s390x/couchdb/
-** 已发布镜像 artifact 详情 **:
https://github.com/docker-library/repo-info/blob/master/repos/couchdb%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/couchdb%EF%BC%89
(镜像元数据、传输大小等)
-** 镜像更新 **:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcouchdb
https://github.com/docker-library/official-images/blob/master/library/couchdb%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/couchdb%EF%BC%89
-** 本描述的来源 **:
https://github.com/docker-library/docs/tree/master/couchdb%EF%BC%88https://github.com/docker-library/docs/commits/master/couchdb%EF%BC%89
Apache CouchDB™ 允许您通过定义 Couch 复制协议在需要的地方访问数据,该协议由各种项目和产品实现,涵盖从全球分布式服务器集群、移动电话到 Web 浏览器的各种计算环境。与 Couch 复制协议兼容的软件包括 PouchDB 和 Cloudant。
安全地存储您的数据,无论是在自己的服务器上还是在任何领先的云提供商处。Web 和原生应用都喜爱 CouchDB,因为它原生支持 JSON,并支持二进制数据以满足所有数据存储需求。Couch 复制协议让您的数据在服务器集群、移动电话和 Web 浏览器之间无缝流动,实现引人入胜的离线优先用户体验,同时保持高性能和强可靠性。CouchDB 提供开发友好的查询语言,并可选支持 MapReduce,以实现简单、高效和全面的数据检索。
couchdb.apache.org
!https://raw.githubusercontent.com/docker-library/docs/d14b6718efb17e85f7a72ceb5de0718786367884/couchdb/logo.png
启动 CouchDB 实例非常简单:
console$ docker run -d --name my-couchdb arm64v8/couchdb:tag
其中 my-couchdb 是您要分配给容器的名称,tag 是指定所需 CouchDB 版本的标签。请参见上文列表获取相关标签。
本镜像暴露标准 CouchDB 端口 5984,因此标准容器链接会使其自动对链接的容器可用。按如下方式启动应用容器以将其链接到 CouchDB 容器:
console$ docker run --name my-couchdb-app --link my-couchdb:couchdb -d app-that-uses-couchdb
如果要将端口暴露到外部网络,请运行:
console$ docker run -p 5984:5984 -d arm64v8/couchdb
警告:在创建管理员用户并正确设置任何已创建数据库的权限之前,请勿执行此操作。
如果您打算将此 CouchDB 实例与集群中的其他实例联网,则需要映射额外的端口;有关详细信息,请参见 官方 CouchDB 文档。
启动多个 CouchDB 实例,然后按照 官方 CouchDB 文档 中的设置向导完成过程。
对于 CouchDB 集群,您需要提供 NODENAME 设置以及 Erlang cookie。可以使用环境变量 ERL_FLAGS 对 Erlang 进行设置,例如 ERL_FLAGS=-setcookie "brumbrum"。更多信息可参见 此处。
此外,还有一个 https://github.com/helm/charts/tree/master/incubator/couchdb 可用。
remsh 和查看日志docker exec 命令允许您在 Docker 容器内运行命令。以下命令将为您提供 couchdb 容器内的 bash shell:
console$ docker exec -it my-couchdb bash
如果需要直接访问 Erlang 运行时:
console$ docker exec -it my-couchdb /opt/couchdb/bin/remsh
CouchDB 日志可通过 Docker 的容器日志查看:
console$ docker logs my-couchdb
为 couchdb 镜像提供配置的最佳方式是提供自定义 ini 文件给 CouchDB,最好存储在 /opt/couchdb/etc/local.d/ 目录中。有多种方式可将此文件提供给容器(通过简短的 Dockerfile 使用 FROM + COPY、通过 Docker Configs、通过运行时绑定挂载等),具体细节留给读者自行探索。
请记住,CouchDB 的运行时重新配置将覆盖 配置链中的最后一个文件,并且此 Docker 容器在启动时会创建 /opt/couchdb/etc/local.d/docker.ini 文件。
CouchDB 还使用 /opt/couchdb/etc/vm.args 存储 Erlang 运行时特定的更改。更改这些值不太常见。例如,如果需要更改 epmd 端口,则也需要绑定挂载此文件。(注意:Windows 主机上无法绑定挂载文件。)
此外,提供了一些环境变量用于设置非常常见的参数:
COUCHDB_USER 和 COUCHDB_PASSWORD 将在文件 /opt/couchdb/etc/local.d/docker.ini 中创建基于 ini 文件的本地管理员用户,具有给定的用户名和密码。COUCHDB_SECRET 将在文件 /opt/couchdb/etc/local.d/docker.ini 中设置 CouchDB 共享集群密钥值。NODENAME 将容器内 CouchDB 节点的名称设置为 couchdb@${NODENAME},位于文件 /opt/couchdb/etc/vm.args 中。这用于集群目的,单节点设置可忽略。ERL_FLAGS)将被 Erlang 本身使用。完整列表可参见 此处重要提示:有多种方式存储 Docker 容器中运行的应用所使用的数据。我们鼓励 couchdb 镜像的用户熟悉可用选项,包括:
Docker 文档是了解不同存储选项和变体的良好起点,有多个博客和论坛帖子讨论并提供了该领域的建议。我们在此仅展示上述后一种选项的基本过程:
/home/couchdb/data。couchdb 容器:bash$ docker run --name some-couchdb -v /home/couchdb/data:/opt/couchdb/data -d arm64v8/couchdb:tag
命令中的 -v /home/couchdb/data:/opt/couchdb/data 部分将主机系统的 /home/couchdb/data 目录挂载为容器内的 /opt/couchdb/data,CouchDB 默认会在此处写入其数据文件。
请注意,CouchDB 不再自动为您创建系统数据库,因为在启动时无法确定这是单节点还是集群 CouchDB 安装。在集群中,数据库必须仅在所有节点加入后创建一次。
如果您使用 集群设置向导 或 集群设置 API,完成过程后将为您创建这些数据库。
如果您选择不使用集群设置向导或 API,则必须手动创建 _global_changes、_replicator 和 _users。
节点还将以 管理员模式 启动。请务必创建管理员用户!集群设置向导 或 集群设置 API 将为您完成此操作。
您也可以使用两个环境变量 COUCHDB_USER 和 COUCHDB_PASSWORD 来设置管理员用户:
console$ docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -d arm64v8/couchdb
注意,如果您要设置集群化 CouchDB,需要预哈希此密码并在所有节点上使用相同的哈希文本,以确保在集群前放置负载均衡器时会话正常工作。可以通过将容器的 /opt/couchdb/etc/local.d 目录挂载为卷来实现哈希,允许 CouchDB 哈希您设置的密码,然后复制出哈希版本并在将来使用此值。
CouchDB 配置在 /opt/couchdb/etc 中的 .ini 文件中指定。查看 CouchDB 配置文档 以了解更多关于 CouchDB 配置结构的信息。
如果要使用自定义的 CouchDB 配置,可以在主机上的目录中创建配置文件,然后将该目录挂载为 couchdb 容器内的 /opt/couchdb/etc/local.d。
console$ docker run --name my-couchdb -v /home/couchdb/etc:/opt/couchdb/etc/local.d -d arm64v8/couchdb
命令中的 -v /home/couchdb/etc:/opt/couchdb/etc/local.d 部分将主机系统的 /home/couchdb/etc 目录挂载为容器内的 /opt/couchdb/etc/local.d,CouchDB 默认会在此处写入其动态配置文件。
您也可以使用 couchdb 作为自己的 couchdb 实例的基础镜像,并提供自己版本的 local.ini 配置文件:
示例 Dockerfile:
dockerfileFROM arm64v8/couchdb COPY local.ini /opt/couchdb/etc/
然后构建并运行:
console$ docker build -t you/awesome-couchdb . $ docker run -d -p 5984:5984 you/awesome-couchdb
请记住,使用此方法,任何新写入的更改仍会出现在 /opt/couchdb/etc/local.d 目录中,因此仍建议将其映射到主机路径以实现持久化。
默认情况下,从此镜像运行的容器仅记录到 stdout。您可以在 配置 中启用文件日志记录。
例如,在 local.ini 中:
ini[log] writer = file file = /opt/couchdb/log/couch.log
建议将此路径挂载到主机上的目录,因为 CouchDB 日志可能非常庞大。
Apache CouchDB 根据 https://github.com/apache/couchdb/blob/master/LICENSE 授权。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证(如基础发行版中的 Bash 等,以及主软件的任何直接或间接依赖项)约束。
一些能够自动检测到的额外许可证信息可能位于 https://github.com/docker-library/repo-info/tree/master/repos/couchdb 中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可证。
以下是 arm64v8/couchdb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务