首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的容器没有找到用于在docker-组合上执行npm安装的package.json。

我的容器没有找到用于在docker-组合上执行npm安装的package.json。
EN

Stack Overflow用户
提问于 2019-02-28 11:47:16
回答 1查看 1.6K关注 0票数 1

我正在尝试使用docker编写部署一个应用程序,该应用程序位于主机中的一个文件夹中(与docker-复合文件位于同一个dir中)。

不过,我正在运行命令docker-compose up -d,但是,由于执行命令npm install时,显示了以下消息,所以卷似乎没有挂载:

代码语言:javascript
复制
Step 3/4 : RUN npm install
 ---> Running in a09b1e8139ae
npm WARN saveError ENOENT: no such file or directory, open '/app/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 '/app/package.json'
npm WARN app No description
npm WARN app No repository field.
npm WARN app No README data
npm WARN app No license field.

从那以后,我的集装箱就出来了。

我的档案:

docker-compose.yml

代码语言:javascript
复制
version: '3'

services:
  github-app:
    build:
      context: ./docker
    volumes:
      # Place app files.
      - ./:/app
    ports:
      - "3000:3000"

docker/Dockerfile

代码语言:javascript
复制
FROM node:10.15.1

WORKDIR /app
RUN npm install
CMD ["npm", "start"]

有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 11:51:51

除非我搞错了。负责构建过程的docker目录将在挂载任何卷之前执行,因此构建期间的映像不会有任何称为package.json的内容,因为它位于上下文目录之外。尝试将dockerfile移动到具有docker-compose.ymlpackage.json的同一个根目录,并使用

代码语言:javascript
复制
COPY . /app

与其依赖于安装的卷,它在构建完成之前是不可用的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54925026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档