COPY dockerfile中没有这样的文件或目录

时间:2019-01-08 12:44:38

标签: docker dockerfile

我已经制作了以下dockerfile来包含我的node js应用程序,问题是在构建dockerfile时出现错误:

Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM node:10
 ---> 0d5ae56139bd
Step 2/7 : WORKDIR /usr/src/app
 ---> Using cache
 ---> 5bfc0405d8fa
Step 3/7 : COPY package.json ./
COPY failed: stat /var/lib/docker/tmp/docker- 
builder803334317/package.json: no such file or directory

这是我的dockerfile:

FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]

我执行了以下命令: sudo docker build-

进入我的根项目文件夹。

我的项目文件夹很简单,如下所示:

-Project
 -app.js
 -Dockerfile
 -package.json
 -package-lock.json
 -README.md

我做错了什么?

1 个答案:

答案 0 :(得分:4)

使用dockerfile-on-stdin语法时

sudo docker build - < Dockerfile

构建序列在仅具有Dockerfile而磁盘上没有其他文件的上下文中运行。

您显示的目录布局非常典型,将docker build指向该目录应该效果更好

sudo docker build .

(这与“ Dockerfiles不能访问父目录中的文件”规则相同,但是没有将当前目录作为Docker的基本目录提供,而是完全不提供任何目录,因此它可以甚至无法访问当前目录中的文件。)