我制作了以下 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
Run Code Online (Sandbox Code Playgroud)
这是我的 dockerfile:
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
我执行了命令:sudo docker build - < Dockerfile
进入我的根项目文件夹。
我的项目文件夹很简单,像这样:
-Project
-app.js
-Dockerfile
-package.json
-package-lock.json
-README.md
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
当您使用 Dockerfile-on-stdin 语法时
sudo docker build - < Dockerfile
Run Code Online (Sandbox Code Playgroud)
构建序列在只有Dockerfile 且磁盘上没有其他文件的上下文中运行。
您显示的目录布局非常典型,指向docker build该目录应该会更好
sudo docker build .
Run Code Online (Sandbox Code Playgroud)
(这与“Dockerfiles 不能访问父目录中的文件”规则相同,但不是将当前目录作为基目录提供给 Docker,而是根本不提供目录,因此它甚至不能访问当前目录中的文件。)
| 归档时间: |
|
| 查看次数: |
4415 次 |
| 最近记录: |