我已经制作了以下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
答案 0 :(得分:4)
使用dockerfile-on-stdin语法时
sudo docker build - < Dockerfile
构建序列在仅具有Dockerfile而磁盘上没有其他文件的上下文中运行。
您显示的目录布局非常典型,将docker build
指向该目录应该效果更好
sudo docker build .
(这与“ Dockerfiles不能访问父目录中的文件”规则相同,但是没有将当前目录作为Docker的基本目录提供,而是完全不提供任何目录,因此它可以甚至无法访问当前目录中的文件。)