
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意:这是https://hub.docker.com/_/couchdb的`s390x`架构构建的"每架构"仓库——了解更多信息,请参见官方镜像文档中的https://github.com/docker-library/official-images#architectures-other-than-amd64和官方镜像FAQ中的https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what。
维护者:
https://github.com/apache/couchdb-docker
获取帮助:
https://dockr.ly/comm-slack、Server Fault、https://unix.stackexchange.com/help/on-topic或https://stackoverflow.com/help/on-topic
Dockerfile链接https://github.com/apache/couchdb-docker/blob/adcb4f73e8a3c6fb0e901ab88cab50d71f02937a/3.4.3/Dockerfile
https://github.com/apache/couchdb-docker/blob/adcb4f73e8a3c6fb0e901ab88cab50d71f02937a/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/、https://hub.docker.com/r/arm64v8/couchdb/、https://hub.docker.com/r/s390x/couchdb/
发布的镜像工件详情:
https://github.com/docker-library/repo-info/blob/master/repos/couchdb (https://github.com/docker-library/repo-info/commits/master/repos/couchdb)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcouchdb
https://github.com/docker-library/official-images/blob/master/library/couchdb (https://github.com/docker-library/official-images/commits/master/library/couchdb)
此描述的来源:
https://github.com/docker-library/docs/tree/master/couchdb (https://github.com/docker-library/docs/commits/master/couchdb)
Apache CouchDB™通过定义Couch复制协议让您能够在需要的地方访问数据,该协议由各种项目和产品实现,涵盖从全球分布式服务器集群、移动电话到Web浏览器的各种计算环境。与Couch复制协议兼容的软件包括PouchDB和Cloudant。
安全地存储您的数据,无论是在自己的服务器上还是在任何领先的云提供商处。Web和原生应用程序都喜爱CouchDB,因为它原生支持JSON并支持二进制数据,满足您所有的数据存储需求。Couch复制协议让您的数据在服务器集群、移动电话和Web浏览器之间无缝流动,实现引人注目的离线优先用户体验,同时保持高性能和强可靠性。CouchDB配备了开发人员友好的查询语言,并可选地提供MapReduce,用于简单、高效和全面的数据检索。
https://couchdb.apache.org
启动CouchDB实例非常简单:
console$ docker run -d --name my-couchdb s390x/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 s390x/couchdb
警告:在创建管理员用户并正确设置您创建的任何数据库的权限之前,不要执行此操作。
如果您打算将此CouchDB实例与集群中的其他实例联网,则需要映射额外的端口;有关详细信息,请参见http://docs.couchdb.org/en/stable/setup/cluster.html。
启动多个CouchDB实例,然后按照http://docs.couchdb.org/en/stable/setup/cluster.html中的设置向导完成该过程。
对于CouchDB集群,您需要提供NODENAME设置以及Erlang cookie。可以使用环境变量ERL_FLAGS对Erlang进行设置,例如ERL_FLAGS=-setcookie "brumbrum"。更多信息可以在http://docs.couchdb.org/en/stable/cluster/setup.html找到。
还有一个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镜像提供配置的最佳方式是为CouchDB提供自定义的ini文件,最好存储在/opt/couchdb/etc/local.d/目录中。有多种方法可以将此文件提供给容器(通过带有FROM + COPY的简短Dockerfile、通过https://docs.docker.com/engine/swarm/configs/、通过运行时绑定挂载等),其细节留给读者自行探索。
请记住,CouchDB的运行时重新配置将覆盖http://docs.couchdb.org/en/stable/config/intro.html#configuration-files,并且此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本身使用。完整列表可以在http://erlang.org/doc/man/erl.html#environment-variables查看。重要提示:有多种方法可以存储在Docker容器中运行的应用程序所使用的数据。我们鼓励couchdb镜像的用户熟悉可用的选项,包括:
Docker文档是了解不同存储选项和变体的良好起点,并且有多个博客和论坛帖子讨论并提供了这方面的建议。我们将在此仅展示上述后一种选项的基本过程:
/home/couchdb/data。couchdb容器:bash$ docker run --name some-couchdb -v /home/couchdb/data:/opt/couchdb/data -d s390x/couchdb:tag
命令的-v /home/couchdb/data:/opt/couchdb/data部分将底层主机系统的/home/couchdb/data目录挂载为容器内的/opt/couchdb/data,CouchDB默认会在此处写入其数据文件。
请注意,CouchDB不再为您自动创建系统数据库,因为在启动时不知道这是单节点还是集群CouchDB安装。在集群中,只有在所有节点都已加入后才能创建数据库。
如果您使用http://docs.couchdb.org/en/stable/setup/cluster.html#the-cluster-setup-wizard或http://docs.couchdb.org/en/stable/setup/cluster.html#the-cluster-setup-api,这些数据库将在您完成该过程时为您创建。
如果您选择不使用集群设置向导或API,则必须手动创建_global_changes、_replicator和_users。
节点还将以https://docs.couchdb.org/en/stable/intro/security.html#the-admin-party启动。请确保创建管理员用户!http://docs.couchdb.org/en/stable/setup/cluster.html#the-cluster-setup-wizard或http://docs.couchdb.org/en/stable/setup/cluster.html#the-cluster-setup-api将为您完成此操作。
您也可以使用两个环境变量COUCHDB_USER和COUCHDB_PASSWORD来设置管理员用户:
console$ docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -d s390x/couchdb
请注意,如果您要设置集群CouchDB,您将需要预先哈希此密码并在所有节点上使用相同的哈希文本,以确保在集群前放置负载均衡器时会话正常工作。可以通过将容器与挂载为卷的/opt/couchdb/etc/local.d目录一起运行来完成哈希,允许CouchDB哈希您设置的密码,然后复制出哈希版本并在将来使用此值。
CouchDB配置在/opt/couchdb/etc中的.ini文件中指定。查看http://docs.couchdb.org/en/stable/config/index.html以了解有关CouchDB配置结构的更多信息。
如果您想使用自定义的CouchDB配置,您可以在主机上的目录中创建您的配置文件,然后将该目录挂载为couchdb容器内的/opt/couchdb/etc/local.d。
console$ docker run --name my-couchdb -v /home/couchdb/etc:/opt/couchdb/etc/local.d -d s390x/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 docker.xuanyuan.run/s390x/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。您可以在http://docs.couchdb.org/en/2.1.0/config/logging.html中启用文件日志记录。
例如,在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中找到。
至于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用符合其中包含的所有软件的任何相关许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 s390x/couchdb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: