Docker构建镜像时COPY命令报错:找不到文件或目录求解决
解决Docker构建时找不到html/index.html的问题
错误根源
你在C:\html目录执行构建命令,Docker的构建上下文就是该目录。Dockerfile里的COPY html/index.html ...是在构建上下文内查找html子目录,但当前上下文里并没有这个子目录,因此触发找不到文件的错误。
解决方案
根据你的实际文件结构选择对应处理方式:
情况1:index.html直接存放在C:\html目录下
修改Dockerfile第3行的路径,直接引用当前上下文里的文件:
COPY index.html /usr/share/nginx/html/
之后重新执行构建命令:
PS C:\html> docker build -t vinnyx5/nginx-imersao13:latest .
情况2:你确实需要从html子目录复制文件
先确认C:\html\html\index.html路径存在,若不存在则创建子目录并移动文件:
PS C:\html> New-Item -ItemType Directory -Name html PS C:\html> Move-Item .\index.html .\html\
保持Dockerfile的COPY命令不变,重新执行构建即可。
额外检查
查看当前目录下的.dockerignore文件,如果其中包含html/或index.html的忽略规则,会导致Docker跳过这些文件,需要删除对应规则。
内容的提问来源于stack exchange,提问作者Vinicius Moreira
相关产品推荐
相关产品推荐

