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

WSL2中docker-compose启动容器失败:权限拒绝未知错误

Docker容器启动权限拒绝问题解决(WSL2环境)

问题定位

报错核心是容器启动时无法执行/code/docker/entrypoints/entrypoint.sh,提示权限拒绝。虽然Dockerfile中已添加chmod +x命令,但WSL2的文件系统特性(尤其是跨Windows/WSL挂载目录时的权限映射)可能导致该命令未生效。

解决步骤

  • 先在宿主机WSL2中给脚本加权限
    进入项目根目录执行:

    chmod +x docker/entrypoints/entrypoint.sh
    

    确保宿主机侧的脚本本身具备可执行权限后,再进行镜像构建。

  • 优化Dockerfile的COPY逻辑
    直接在COPY阶段指定文件权限,替代后续的chmod命令,避免权限失效:

    # 替换原有COPY和chmod相关代码
    COPY --chmod=755 docker/entrypoints/entrypoint.sh /code/docker/entrypoints/entrypoint.sh
    COPY . /code/
    
  • 修复WSL2挂载权限映射(针对Windows目录挂载场景)
    新建或修改WSL配置文件/etc/wsl.conf,添加以下内容:

    [automount]
    options = "metadata,umask=0022"
    

    执行wsl --shutdown重启WSL后,挂载的Windows目录文件权限会正常映射。

  • 重新构建并启动容器
    执行命令:

    docker-compose build --no-cache
    docker-compose up
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:58:11