注意:这是 https://hub.docker.com/_/couchdb 的 ppc64le 架构“per-architecture”仓库——更多信息,请参见官方镜像文档中的“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 链接警告:此镜像在 ppc64le 架构上 不受支持
提交 issue 地址:
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/
已发布镜像制品详情:
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 ppc64le/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 ppc64le/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%E3%80%82
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 文件,最好存储在 /opt/couchdb/etc/local.d/ 目录中。有多种方式可将此文件提供给容器(通过包含 FROM + COPY 的简短 Dockerfile、Docker 配置、运行时绑定挂载等),具体细节留给读者自行探索。
请记住,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 ppc64le/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 ppc64le/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 ppc64le/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 ppc64le/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 中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可证。
以下是 ppc64le/couchdb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务