执行docker build遇COPY失败:文件不存在或被.dockerignore排除
解决Docker COPY文件找不到的问题
可能的原因及修复步骤
1. 修正COPY指令的文件路径
从目录结构来看,requirements_webserver.txt位于webserver子目录下,而你的Dockerfile应该是在根目录(与backend、frontend、webserver同级)。当前COPY指令直接写requirements_webserver.txt,Docker会在构建上下文的根目录查找该文件,自然找不到。
修改Dockerfile中的COPY指令:
COPY webserver/requirements_webserver.txt /requirements.txt
2. 确认构建上下文的正确性
执行docker build命令时,必须确保你在根目录(包含webserver、backend等文件夹的目录)执行,并且指定正确的上下文路径:
# 在根目录下执行 docker build -t your-image-name .
这里的.表示将当前目录作为构建上下文,确保Docker能访问到webserver子目录里的文件。
3. 检查.dockerignore文件
如果根目录下存在.dockerignore文件,检查是否有以下规则:
webserver/:会排除整个webserver目录,导致Docker无法读取其中的文件requirements_webserver.txt:直接排除目标文件
若有上述规则,删除对应的行即可。
内容的提问来源于stack exchange,提问作者Mitch
相关产品推荐
相关产品推荐

