构建Docker镜像时提示找不到Dockerfile.web文件该如何解决?
可能原因及对应解决方案:
- 文件名大小写不匹配
即使你使用的是Windows、macOS这类默认不区分大小写的文件系统,Docker在读取指定Dockerfile时仍会严格校验大小写。请确认实际文件名和命令中-f参数后的Dockerfile.web大小写完全一致,避免出现dockerfile.web、Dockerfile.Web这类拼写差异。 - 文件权限不足
你当前执行命令的用户对Dockerfile.web有读权限不代表Docker daemon有权限读取该文件,执行chmod 644 Dockerfile.web开放文件读权限后重新尝试构建。 - 跨文件系统访问bug(WSL环境特有)
如果你是在WSL环境中操作位于Windows挂载盘(/mnt/c/、/mnt/d/等路径下)的项目,Docker Desktop的跨文件系统路径映射会出现异常,无法正确读取挂载盘内的文件。将整个项目目录移动到WSL本地文件系统(如/home/你的用户名/路径下)后重新执行构建即可。 - Dockerfile.web为软链接
Docker默认不会跟随构建上下文内的软链接读取源文件,若Dockerfile.web是指向其他路径的软链接,daemon会直接读取软链接本身而非源文件,导致找不到实际的Dockerfile内容。将软链接替换为实际的物理文件后重新构建即可。 - Docker配置未生效
修改buildkit参数后必须完全重启Docker daemon服务,配置才会生效。请确认你修改配置后已完成重启操作,再重新执行构建命令。
内容的提问来源于stack exchange,提问作者Mr.Gomer
相关产品推荐
相关产品推荐

