You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple M1设备Docker部署CouchDB容器启动报错求助

问题根源

错误提示/opt/couchdb/etc/local.d/docker.ini: Is a directory明确说明:你在docker-compose中试图将宿主机的目录/opt/couchdb-322.etc/docker.ini挂载到容器内的文件路径/opt/couchdb/etc/local.d/docker.ini,导致容器内该路径被识别为目录,而CouchDB启动脚本需要操作这个路径作为配置文件,从而触发报错。

解决方案

1. 修复宿主机的路径问题

首先检查宿主机上的/opt/couchdb-322.etc/docker.ini是否为目录:

ls -ld /opt/couchdb-322.etc/docker.ini

如果输出显示是目录,执行以下操作:

  • 删除错误创建的目录:
    rm -rf /opt/couchdb-322.etc/docker.ini
    
  • 创建对应的空配置文件(确保父目录存在):
    mkdir -p /opt/couchdb-322.etc && touch /opt/couchdb-322.etc/docker.ini
    

2. 保持docker-compose配置不变(路径逻辑正确)

你的docker-compose挂载配置本身是正确的,只要宿主机侧是文件,挂载后容器内就能正确识别为配置文件:

couchdb:
    container_name: couchdb
    image: apache/couchdb:3.2.2
    volumes:
      - /opt/couchdb-322.data:/opt/couchdb/data:delegated
      - /opt/couchdb-322.etc/docker.ini:/opt/couchdb/etc/local.d/docker.ini:delegated
    environment:
      - COUCHDB_USER=username
      - COUCHDB_PASSWORD=password
    ports:
      - "5984:5984"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5984"]
      interval: 15s
      timeout: 2s
      retries: 20
      start_period: 1m

3. 重新启动容器

执行以下命令重新启动:

docker-compose down && docker-compose up -d
额外说明
  • 关于Apple M1(ARM架构):apache/couchdb:3.2.2是多架构镜像,已经支持ARM64,所以架构不是当前问题的诱因,无需额外调整镜像。

内容的提问来源于stack exchange,提问作者Raju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:43:14