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

WSL环境下docker-compose up报错:找不到/app/start.sh文件求助

解决WSL环境中Docker容器启动时找不到start.sh的问题
  • 检查COPY/ADD指令与.dockerignore配置
    确认Dockerfile里的COPY/ADD指令是否正确将本地start.sh复制到镜像的/app目录,比如COPY start.sh /app/start.sh。同时检查.dockerignore文件,避免误将start.sh排除在构建上下文外。

  • 验证镜像内文件是否存在
    构建完成后,手动运行临时容器查看镜像内容:

    docker run --rm <你的镜像名称> ls -l /app
    

    另外注意RUN ls指令必须放在COPY指令之后,否则构建时还未复制文件,自然看不到输出。

  • 修复脚本换行符问题
    Windows下创建的脚本默认是CRLF换行,Linux容器无法正确解析,会伪装成“文件找不到”的错误。可以:

    • 在WSL中执行dos2unix start.sh转换换行符
    • 在VS Code中点击右下角的CRLF切换为LF后重新保存脚本
  • 调整ENTRYPOINT/CMD指令
    尝试用shell命令组合先查看目录再执行脚本,方便排查启动时的目录状态:

    CMD ["sh", "-c", "ls -l /app && /app/start.sh"]
    

    确保指令中使用的/app/start.sh绝对路径无误。

  • 规避WSL挂载目录的权限问题
    如果项目放在Windows挂载到WSL的目录(如/mnt/c/...),可能因权限冲突导致复制到镜像的文件异常。将项目复制到WSL原生目录(如~/projects/)后重新构建。

内容的提问来源于stack exchange,提问作者Huy Vũ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:25:57