node.js - 错误“enoent ENOENT:没有这样的文件或目录,打开 '/app/package.json'” docker 引用外部文件夹
问题描述
我的整个nodejs
代码都在abc
文件夹中
root@ip-10-0-0-9:~/standalone/apiserver# ls
Dockerfile abc
root@ip-10-0-0-9:~/standalone/apiserver/abc# ls
build index.html node_modules package.json package-lock.json src
我以下列方式创建了 Dockerfile:
FROM node:10
#Create app directory
WORKDIR /app
COPY abc/package*.json /app/
RUN npm install
CMD ["npm","start"]
当我以以下方式运行我的 docker 容器时,它会给出错误:
docker build -t node-app .
root@ip-10-0-0-9:~/standalone/apiserver# docker run -it --net=host -v /abc:/app --name mynodeapp1 node-app
npm ERR! path /app/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/app/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-05-14T14_36_09_651Z-debug.log
更新:
package.json 文件内容如下:
{
"name": "abc",
"description": "A Vue.js project",
"version": "1.0.0",
"author": "utkarsh",
"license": "MIT",
"private": true,
"scripts": {
"start": "nodemon src/server.js",
"lint": "eslint **/*.js"
},
"dependencies": {
"body-parser": "^1.18.2",
"cors": "^2.8.4",
"express": "^4.16.2",
"jquery": "^3.3.1",
"moment": "^2.20.1",
"morgan": "^1.9.0",
"mysql": "^2.15.0",
"nodemon": "^1.14.12"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"babel-preset-stage-3": "^6.24.1",
"cross-env": "^5.0.5",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
}
解决方案
我已经修改了你Dockerfile
的一点,现在它似乎在这里工作。
Dockerfile:
FROM node:10
#Create app directory
WORKDIR /app
COPY abc/package*.json ./
RUN ls -al
RUN npm install
CMD ["npm","start"]
您可以删除RUN ls -al
,我只是将其放在那里以查看 的内容workdir
,然后打印文件。
更改是 - 您已经指定了所有工作应该在哪里完成,通过设置WORKDIR
,基于我与您设置的路径相关,当在COPY
那里。
试试它是否有效并回发;)
推荐阅读
- scala - 斯卡拉:火花:java.lang.ClassNotFoundException:
- javascript - OfficeRuntime.storage.setItems 设置存储项失败,返回未知错误
- web-scraping - 使用 python scrapy 抓取动态网站(使用反应构建)的最佳方法
- sql - 在不重复使用不存在的情况下优化此查询,有没有更好的方法来编写此查询?
- apache - Apache htaccess 301 重定向到子文件夹会导致重定向过多
- javascript - 找不到 DialogDataExampleDialog 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?
- python - 过拟合——训练和验证准确率之间的巨大差异
- android - 无法实例化片段找不到片段构造函数android
- python - 在网站上请求后如何发送电报消息?
- r - 选择最高值和行均值的更快方法