Dockerfile是:
FROM nginx
COPY html /usr/share/nginx/html
使用以下命令时,Dockerfile位于pwd目录(即home / ubuntu / app)中:
docker build -t mynginx .
我给出了一个错误:
复制失败:stat / var / lib / docker / tmp / docker-builder344 / html:没有此类文件或目录。
如何更改构建上下文的docker源?
答案 0 :(得分:1)
Docker构建仅在Dockerfile文件上下文中查看文件,这意味着构建将从Dockerfile所在的位置复制/home/ubuntu/app/
。
最好将html
和/home/ubuntu/app
放在此位置,因为docker build将上下文的tar发送到docker守护程序,因此建议将上下文保持最小。
答案 1 :(得分:1)
docker build -t mynginx .
应该会在当前目录中找到Dockerfile。此外,Dockerfile指令使用的相对路径将相对于当前目录。
您可以将构建上下文路径设置为其他路径docker build -t mynginx [some_folder_path]
。 Docker将在此处搜索Dockerfile。您可以使用-f
选项docker build -f [path_to_dockerfile] -t mynginx [some_folder_path]