Docker 错误:没有这样的文件或目录,打开 '/package.json'
Posted
技术标签:
【中文标题】Docker 错误:没有这样的文件或目录,打开 \'/package.json\'【英文标题】:Docker error: no such file or directory, open '/package.json'Docker 错误:没有这样的文件或目录,打开 '/package.json' 【发布时间】:2019-01-19 12:49:30 【问题描述】:我正在尝试在 docker 中运行节点映像,但出现此错误:
npm WARN saveError ENOENT: no such file or directory, open '/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#2 No description
npm WARN !invalid#2 No repository field.
npm WARN !invalid#2 No README data
npm WARN !invalid#2 No license field.
这是我的 docker 文件。我想把我所有的项目文件放在容器的 /home/app/ 文件夹中:
# Use an official node runtime as a parent image
FROM node:10
# Set the working directory to /home/app
#WORKDIR /home/app/
# Bundle app source
COPY . /home/app/
# If you are building your code for production
# RUN npm install --only=production
RUN npm install
# Make port 8000 available to the world outside this container
EXPOSE 8000
CMD npm run dev
我在 Windows 上,我使用 hyper-V。我的 package.json 与我的 Dockerfile 处于同一级别。
有什么想法吗?
谢谢
【问题讨论】:
对于遇到此问题的其他人,请确保您没有使用 docker-compose 卷覆盖目录 【参考方案1】:npm install
命令运行时,工作目录大概是/
,这里没有package.json
。
只需在您的 Dockerfile
中取消注释您的行 WORKDIR /home/app/
。
【讨论】:
【参考方案2】:我的愚蠢错误是我在尝试运行我的 npm 命令之前忘记指定我的WORKDIR
...希望这也对某人有所帮助!
请务必确保您的WORKDIR
对于CMD
行是准确的...
【讨论】:
以上是关于Docker 错误:没有这样的文件或目录,打开 '/package.json'的主要内容,如果未能解决你的问题,请参考以下文章
为啥 docker-compose build 没有给我这样的文件或目录错误消息
docker-compose 错误:FileNotFoundError:[Errno 2] 没有这样的文件或目录
带有tensorflow gpu的docker - ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
docker-compose 无法以 npm ERR 启动! enoent ENOENT:没有这样的文件或目录,打开'/usr/src/app/package.json'