在Dockerfile中,使用COPY或ADD命令将文件复制到Docker容器中时,必须确保文件位于构建上下文路径中。如果文件不在构建上下文路径中,Docker将无法找到它并引发'not found in build context”错误。
为解决此问题,您可以执行以下操作之一:
在Dockerfile所在的目录中创建一个名为'src”的文件夹,其中包含了要复制的文件。 在Dockerfile中使用以下命令:
COPY src/file.txt /app/file.txt
在Dockerfile中,设置构建上下文路径,使其包括要复制的文件所在的目录:
COPY /path/to/file.txt /app/file.txt
注意:构建上下文路径始终是Dockerfile所在的目录。因此,如果要复制的文件不在Dockerfile所在的目录中,需要通过修改构建上下文路径来包含文件所在的目录。
如果要在Docker容器中添加名为'app.js”的文件,该文件位于本地'/home/user/myapp”文件夹中,则可以使用以下命令:
FROM node:10-alpine
COPY package*.json ./ RUN npm install
WORKDIR /usr/src/app
COPY /home/user/myapp/app.js .
CMD [ "npm", "start" ]
在这里,'app.js”文件被复制到了Dockerfile中的工作目录'/usr/src/app”中。因为Dockerfile位于与'app.js”文件不同的文件夹中,所以通过拓展COPY命令,包括'/home/user/myapp”文件夹,让Docker知道它的位置。
上一篇:AzureDevOps构建失败