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权限一致,配置文件目录都能找到且正确,问题就解决了。记得重启容器。

相关推荐
techdashen2 小时前
Rust 在安全关键软件:机遇、挑战与未来之路
人工智能·安全·rust
java1234_小锋2 小时前
LangChain4j快速入门
人工智能·python·spring
江瀚视野2 小时前
美团“小团健康管家”发布,美团也入局AI健康了?
人工智能
HIT_Weston2 小时前
47、【Agent】【OpenCode】本地代理增强版分析(JSON解析)
人工智能·json·agent·opencode
山林竹笋2 小时前
大模型汇总(国外)
人工智能·大模型·ai编程
FreeBuf_2 小时前
OpenAI发布GPT-5.4-Cyber强化网安防御,与Anthropic展开AI攻防竞赛
人工智能·gpt
动恰客流管家2 小时前
动恰3DV3丨客流统计方案:赋能文旅街区 / 古镇智慧化运营升级
大数据·人工智能·3d
前端不太难2 小时前
控制权之争:Human-in-the-loop vs Fully Autonomous
人工智能·状态模式
七夜zippoe2 小时前
OpenClaw 飞书深度集成:云存储操作
大数据·人工智能·飞书·集成·openclaw