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

相关推荐
Martina_03211 小时前
AI生成的3D白模单帧没问题,镜头一移动就被挡?用6步检查遮挡与构图
图像处理·人工智能·数学建模·3d·ai·自然语言处理·游戏策划
泯泷1 小时前
SFT 的真相:它不教模型"知道什么",只教它"怎么说"
人工智能·llm·agent
JJJennie7771 小时前
MAI Gateway 免费试用与付费方案详解:先验效果,再谈 ROI
人工智能·大模型·gateway·ai网关
AI_Gump2 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
萝卜小白2 小时前
深度学习基础面经
人工智能·深度学习
如夏倾城3 小时前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo
泯泷3 小时前
为什么 RL 比 SFT 更会"举一反三"?
人工智能·llm·agent
上海潭龙东海科技有限公司3 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
民乐团扒谱机3 小时前
Agent-Skills 新手入门与实战部署指南
人工智能·ai·agent·skill