gpt4 book ai didi

linux - 我的容器找不到 package.json 来在 docker-compose 上执行 npm install

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:51 28 4
gpt4 key购买 nike

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

我正在运行命令 docker-compose up -d,但是,卷似乎没有安装,因为当执行命令 npm install 时显示以下消息:

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

version: '3'

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

docker/docker 文件

FROM node:10.15.1

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

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

最佳答案

除非我记错了。 docker负责构建过程的目录将在安装任何卷之前执行,因此构建期间的图像不会有任何名为 package.json 的东西。因为它在上下文目录之外。尝试移动 dockerfile到你有docker-compose.yml的同一个根目录和 package.json并使用

更新 dockerfile
COPY . /app

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

关于linux - 我的容器找不到 package.json 来在 docker-compose 上执行 npm install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54925026/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com