Openclaw启动后Error: EACCES: permission denied, mkdir权限问题解决(windows)

背景条件:

1.使用docker容器安装Openclaw,正常启动。

2.启动后报权限问题,Error: EACCES: permission denied, mkdir '/d' ,主要在acpx、heartbeat出现。

解决3要点参考:配置文件2个、docker权限和用户权限不一致,主要解决的就是映射路径的正确性和映射下的docker权限一致问题。

关键配置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'

验证docker创建文件的权限:

  • 如果找不到文件地址,说明文件映射有问题,解决文件映射。(向下看关键配置2)
  • 如果touch权限有问题,改docker容器权限
cpp 复制代码
 sudo chown -R 1000:1000  /d/projects/openclaw-docker/openclaw/*
 sudo chmod -R u+rwX /d/projects/openclaw-docker/openclaw/*

参考原因**:**https://blog.csdn.net/weixin_42098685/article/details/158420526

关键配置2【docker-compose.yml】

openclaw在docker下的文件安装目录如:/e/project/openclaw-docker/openclaw下,看vloumes里的两个文件目录变量配置

bash 复制代码
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 #文件目录映射,如果环境变量没配置,使用直接目录映射
      ## Uncomment the lines below to enable sandbox isolation
      ## (agents.defaults.sandbox). Requires Docker CLI in the image
      ## (build with --build-arg OPENCLAW_INSTALL_DOCKER_CLI=1) or use
      ## scripts/docker/setup.sh with OPENCLAW_SANDBOX=1 for automated setup.
      ## Set DOCKER_GID to the host's docker group GID (run: stat -c '%g' /var/run/docker.sock).
      # - /var/run/docker.sock:/var/run/docker.sock

最终解决总结:把目录改正确,把权限设置一致,docker权限一致,配置文件目录都能找到且正确,问题就解决了。记得重启容器。

相关推荐
hixiong1238 小时前
C# TensorRT部署RF-DETR目标检测&分割模型
人工智能·目标检测·计算机视觉·ai·c#
小程故事多_808 小时前
[大模型面试系列] 深度解析ReAct框架,大模型Agent的“思考+行动”底层逻辑
人工智能·react.js·面试·职场和发展·智能体
逍遥德8 小时前
AI时代,计算机专业大学生学习指南
java·javascript·人工智能·学习·ai编程
蝎子莱莱爱打怪8 小时前
Claude Code 省 Token 小妙招:RTK + Caveman 组合拳
前端·人工智能·后端
tanis_38 小时前
从 PDF 中精准提取表格、图片与公式:MinerU 结构化元素抽取的 3 种方案
人工智能
sali-tec9 小时前
C# 基于OpenCv的视觉工作流-章63-点廓距离
图像处理·人工智能·opencv·计算机视觉
Maiko Star9 小时前
让 AI 开口说话:Spring AI Alibaba 语音合成(TTS)实战
java·人工智能·spring·springai
机器学习之心9 小时前
多工况车速数据集训练LSTM-Attention用于车速预测,输出未来多个时间步车速,MATLAB代码
人工智能·matlab·lstm·lstm-attention·车速预测
耀耀切克闹灬9 小时前
初识LlamaIndex (了解LlamaIndex 高层概念)
人工智能
机器之心9 小时前
马斯克官宣xAI解散,22万张GPU算力租给Anthropic
人工智能·openai