本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Apache CouchDB 是一个使用 JSON 作为文档格式、HTTP API 作为交互接口、JavaScript/声明式索引的数据库。它通过定义 Couch 复制协议,支持数据在全球分布式服务器集群、移动设备和 Web 浏览器等各种计算环境中无缝流动。CouchDB 原生支持 JSON 文档存储,兼容二进制数据,提供离线优先的用户体验,同时保持高性能和高可靠性。
amd64、arm64v8、s390x 等多种硬件架构。| 标签 | Dockerfile 链接 |
|---|---|
latest, 3.5.0, 3.5, 3 | 3.5.0/Dockerfile |
3.5.0-nouveau, 3.5-nouveau, 3-nouveau | 3.5.0-nouveau/Dockerfile |
3.4.3, 3.4 | 3.4.3/Dockerfile |
3.4.3-nouveau, 3.4-nouveau | 3.4.3-nouveau/Dockerfile |
amd64:amd64/couchdbarm64v8:arm64v8/couchdbs390x:s390x/couchdb$ docker run -d --name my-couchdb couchdb:tag
其中 my-couchdb 为容器名称,tag 为指定的镜像标签(如 latest、3.5.0)。
通过容器链接使其他应用访问 CouchDB:
$ docker run --name my-app --link my-couchdb:couchdb -d app-that-uses-couchdb
应用可通过 couchdb:5984 访问数据库服务。
将容器内 CouchDB 端口(默认 5984)映射到主机:
$ docker run -p 5984:5984 -d couchdb:tag
警告:暴露端口前需确保已创建管理员用户并正确配置数据库权限,避免未授权访问。
创建 docker-compose.yml 文件:
version: '3' services: couchdb: image: couchdb:3.5.0 container_name: couchdb ports: - "5984:5984" environment: - COUCHDB_USER=admin - COUCHDB_PASSWORD=securepassword volumes: - couchdb_data:/opt/couchdb/data - couchdb_config:/opt/couchdb/etc/local.d restart: always volumes: couchdb_data: couchdb_config:
启动服务:
$ docker-compose up -d
| 环境变量 | 描述 |
|---|---|
COUCHDB_USER | 创建管理员用户名,与 COUCHDB_PASSWORD 配合使用,自动写入配置文件。 |
COUCHDB_PASSWORD | 管理员密码,与 COUCHDB_USER 配合使用。 |
COUCHDB_SECRET | 设置集群共享密钥,用于节点间身份验证。 |
NODENAME | 设置节点名称(格式为 couchdb@${NODENAME}),用于集群部署。 |
ERL_FLAGS | Erlang 运行时参数,如 -setcookie "cookie_value" 设置节点间通信 cookie。 |
CouchDB 配置通过 .ini 文件管理,推荐将自定义配置文件挂载到容器内 /opt/couchdb/etc/local.d/ 目录(动态配置优先加载)。
$ docker run -v /host/path/to/config:/opt/couchdb/etc/local.d -d couchdb:tag
FROM couchdb:3.5.0 COPY custom.ini /opt/couchdb/etc/local.d/
构建并运行:
$ docker build -t my-couchdb . $ docker run -d my-couchdb
通过环境变量创建管理员并启动:
$ docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -d couchdb:tag
NODENAME 和 Erlang cookie:# 节点 1 $ docker run -d --name couchdb1 -e NODENAME=couchdb1 -e ERL_FLAGS="-setcookie mycookie" couchdb:tag # 节点 2 $ docker run -d --name couchdb2 -e NODENAME=couchdb2 -e ERL_FLAGS="-setcookie mycookie" couchdb:tag
可使用 Helm Chart 快速部署到 Kubernetes 集群。
$ docker exec -it my-couchdb bash
$ docker exec -it my-couchdb /opt/couchdb/bin/remsh
$ docker logs my-couchdb
CouchDB 数据默认存储在容器内 /opt/couchdb/data,需通过卷挂载实现持久化:
$ docker run -v /host/data/path:/opt/couchdb/data -d couchdb:tag
CouchDB 不会自动创建系统数据库(_global_changes、_replicator、_users),需手动创建或通过集群配置工具自动生成:
# 通过 HTTP API 创建 _users 数据库 $ curl -X PUT http://admin:password@localhost:5984/_users
默认启动时,CouchDB 处于管理员开放模式(所有用户拥有管理员权限),需立即创建管理员用户:
$ docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=securepassword -d couchdb:tag
集群环境注意:多节点集群需确保所有节点使用相同的管理员密码哈希值,可通过挂载配置目录让 CouchDB 自动哈希密码后,复制哈希值到其他节点配置文件中。
默认日志输出到 stdout,可通过配置文件启用文件日志:
log.ini:[log] writer = file file = /opt/couchdb/log/couch.log level = info
$ docker run -v /host/config:/opt/couchdb/etc/local.d -v /host/log:/opt/couchdb/log -d couchdb:tag
Apache CouchDB 基于 Apache 许可证 开源。
镜像中包含的其他软件(如基础系统组件、依赖库等)可能遵循不同许可证,用户需自行确保使用符合相关许可要求。镜像元数据及许可证详情可参考 repo-info 仓库。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429