Openclaw EACCES权限错误解决与API Key配置指南
一、Docker环境下OpenClaw权限配置详解
使用Docker容器部署OpenClaw通常能顺利启动,极少遇到初始障碍。
容器运行后,常见权限报错呈现在终端:Error: EACCES: permission denied, mkdir '/d'。该错误集中发生在acpx与heartbeat服务组件。
解决此问题的核心在于准确设置路径映射和目录权限。具体需核对两个关键配置文件,确保Docker容器内node用户(UID 1000)对宿主机挂载目录拥有读写执行权限。
关键配置1:用户主目录下的配置文件 ~/.openclaw/openclaw.json
该文件包含一个关键字段,定义工作空间在容器内的映射路径。保持其默认值即可:
"agents": {"defaults": {"workspace": "/home/node/.openclaw/workspace",# 保持默认,此为OpenClaw内部映射路径"sandbox": {"mode": "off"}}}
执行以下命令验证容器内创建文件的权限:
$ docker compose exec openclaw-gateway sh -lc 'touch /home/node/.openclaw/workspace/1'
根据输出结果判断:
- 若提示"no such file",表明文件映射异常,直接进入关键配置2排查。
- 若返回权限拒绝错误,则需要调整宿主机目录的属主和权限。
调整容器权限的命令如下(请将路径替换为实际目录):
sudo chown -R 1000:1000/d/projects/openclaw-docker/openclaw/*
sudo chmod -R u+rwX /d/projects/openclaw-docker/openclaw/*
关键配置2:docker-compose.yml 文件
OpenClaw的Docker部署文件目录,例如 /e/project/openclaw-docker/openclaw。重点关注volumes段的两个目录映射:
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE:-openclaw:local}
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-}
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: ${OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:-}
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}
TZ: ${OPENCLAW_TZ:-UTC}
volumes:
- /c/user/userxxxxxxxx/.openclaw/openclaw.json:/home/node/.openclaw # 配置文件映射,对应上方个人根目录下config,若未配置环境变量则采用直接目录映射(配置文件目录可自定义)
- /d/projects/openclaw-docker/openclaw/workspace:/home/node/.openclaw/workspace # 文件目录映射,若未配置环境变量则采用直接目录映射
最终总结:确保目录路径准确、宿主机目录权限正确(Docker内node用户UID 1000需具备读写执行权限)、配置文件映射生效。完成这三点后,重启容器即可解决问题。
二、模型API密钥配置
步骤一:通过官方命令自动化配置
-
在终端中进入项目目录,然后连接到OpenClaw容器的命令行环境。
-
在容器内执行官方推荐的配置命令。注意将
$DEEPSEEK_API_KEY替换为你自己的有效API Key。openclaw onboard --non-interactive --mode local --auth-choice deepseek-api-key --deepseek-api-key "你的新API_Key" --skip-health --accept-risk该命令将自动配置DeepSeek的API端点、API Key,并将其设为默认模型。采用此方法可规避手动编辑配置文件的风险,既省时又可靠。
✅ 步骤二:验证配置结果
-
退出容器,重启网关使配置生效,随后即可正常使用。
