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

WSL2执行docker-compose命令遇权限拒绝错误求助

解决Docker entrypoint.sh权限拒绝问题

针对你遇到的exec: "/code/docker/entrypoints/entrypoint.sh": permission denied错误,以下是几个排查和解决方向:

  • WSL2跨文件系统权限映射问题
    如果你的项目放在Windows挂载目录(比如/mnt/c、/mnt/d),Windows文件系统不支持Linux的执行权限位,即使Dockerfile里执行了chmod +x,COPY到容器内的文件可能还是没有执行权限。解决方法:把整个项目迁移到WSL2的内部文件系统(比如/home/your-username/下的目录),再重新构建镜像。

  • 修改Dockerfile的COPY命令,直接设置权限
    在COPY时通过--chmod参数直接给文件赋予执行权限,避免后续chmod命令可能的失效问题。修改Dockerfile中的COPY行:

    COPY --chmod=755 . /code/
    

    这样复制文件时就会自动设置正确的权限,无需单独执行chmod命令(当然保留原有的chmod也没问题)。

  • 验证entrypoint.sh的shebang配置
    确保你的entrypoint.sh第一行有正确的shebang,比如#!/bin/bash或#!/bin/sh。如果缺少shebang,或者指向的解释器在容器中不存在,也可能触发类似权限拒绝的错误。

  • 单独拆分chmod命令
    把chmod +x /code/docker/entrypoints/entrypoint.sh单独作为一条RUN命令,避免和pip安装等命令合并导致缓存问题,确保权限修改命令被执行:

    RUN chmod +x /code/docker/entrypoints/entrypoint.sh
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:12:45