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

Docker构建报错:Error checking context: can't stat 问题求助

解决Docker Build报错:error checking context: can't stat '/media/dev/Data/Project/.../src'

我经常碰到这个问题,它的本质是Docker在扫描构建上下文(就是你执行docker build .时的当前目录)时,找不到指定的src目录。下面是几种常见原因和对应的解决办法:

  • 原因1:src目录根本不存在
    先确认这个路径是不是真的存在——可能是你手动删除了、移动了目录,或者Dockerfile里的路径写错了。
    你可以直接在终端里执行ls /media/dev/Data/Project/.../src(把...替换成实际的路径部分),如果提示“No such file or directory”,那就是目录不存在:

    • 要么创建这个目录:mkdir -p /media/dev/Data/Project/.../src
    • 要么修改Dockerfile里的COPY/ADD指令,指向正确的文件/目录路径。
  • 原因2:Docker进程没有访问src目录的权限
    你的src目录在挂载的磁盘(/media/dev/Data)上,这类外部挂载目录经常会有权限限制。

    • 先试试用sudo docker build .执行构建,如果能成功,说明就是权限问题。
    • 解决办法:给当前用户赋予该目录的读写权限:chown -R $USER:$USER /media/dev/Data/Project/.../src
    • 如果是Linux系统,还可能是SELinux/AppArmor的限制,可以临时关闭SELinux测试(sudo setenforce 0),如果可行,再配置对应的SELinux规则允许Docker访问该目录。
  • 原因3:src是软链接(符号链接)
    Docker默认不会跟随构建上下文里的软链接,所以如果src是个指向其他位置的软链接,Docker会识别不到。

    • 方案1:把软链接替换成实际的目录(复制原目录内容到当前路径下)
    • 方案2:如果你的Docker版本是23.0及以上,可以在构建时加上--follow-symlinks参数:docker build --follow-symlinks .
    • 方案3:检查.dockerignore文件,有没有把这个软链接加入忽略列表,如果有就删掉对应的规则。
  • 原因4:.dockerignore文件排除了src目录
    检查当前目录下的.dockerignore文件,看看有没有类似src、*/src这样的规则——Docker会忽略这些匹配的文件/目录,导致扫描时找不到src。
    解决办法:打开.dockerignore,删除掉排除src的那一行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 09:17:45