Dockerfile 文件内容如下:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
ARG PROJECT
WORKDIR /app
COPY src/${PROJECT}/publish .
当前目录下明明存在 src/${PROJECT}/publish
文件夹,但 build 镜像时却报错:
Step 4/6 : COPY src/${PROJECT}/publish .
COPY failed: stat /var/lib/docker/tmp/docker-builder705728397/src/CNBlogs.KB.Web/publish: no such file or directory
请问如何解决这个问题?
应该是content没有对上吧
context,拼写错了。
是 .dockerignore
引起的,.dockerignore 中有下面的配置
*
!Dockerfile
!src/CNBlogs.KB.Web/bin/Release/netcoreapp2.2/publish
现在修改了 publish 的路径,所以被 .dockerignore 忽略了。
有这个目录吗? /var/lib/docker/tmp/docker-builder705728397/src/CNBlogs.KB.Web/publish
把资源挪到Dockerfile同目录下,使用相对路径
ls src/CNBlogs.KB.Web/publish
对应的文件夹存在
啊,dudu的问题。。。
ARG PROJECT 只是定义了一个变量,没有赋值?
docker build完整命令能贴一下吗
感觉应该是指定context时的问题
step 4/6 。你贴出来的是不是不完整的dockerfile
– blackheart 4年前@blackheart: 还有2个是容器内操作,与问题无关
– dudu 4年前@dudu: 那么有没有dockerignore文件把src目录过滤掉了,导致没有把这些文件包含在build context中。或者就是dockerfile和src目录不是平级的。
– blackheart 4年前@blackheart: 是 .dockerignore 引起的
– dudu 4年前