【发布时间】:2019-04-17 08:02:56
【问题描述】:
我正在使用 docker 和 docker-compose 来运行我的 express nodejs api。
这是我的 docker 文件:
FROM node:10-alpine
ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN chmod 755 /usr/src/app
CMD [ "npm", "start" ]
正如我提到的,我正在使用 docker-compose,这里是 docker-compose.yml 文件内容:
version: "3"
services:
service:
build: .
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
ports:
- 3001:3001
command: npm start
运行 docker-compose up 后,我遇到一个错误,说它无法找到 package.json。
这是错误:
service_1 | npm ERR! path /usr/src/app/package.json
service_1 | npm ERR! code ENOENT
service_1 | npm ERR! errno -2 service_1 | npm ERR! syscall open
service_1 | npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/app/package.json'
service_1 | npm ERR! enoent This is related to npm not being able to find a file.
service_1 | npm ERR! enoent
service_1 |
service_1 | npm ERR! A complete log of this run can be found in:
service_1 | npm ERR! /root/.npm/_logs/2019-04-17T07_54_07_773Z-debug.log
xuser-api_service_1 exited with code 254
请帮忙找出我的错误。
【问题讨论】:
-
您能否在问题中也包含您的
docker-compose.yml?有一个常见的设置涉及使用volumes:隐藏 Dockerfile 所做的所有事情,这似乎可能导致此错误;如果你有volumes:,你可以尝试删除那个块。 -
嗨大卫,我包括 docker-compose.yml
标签: node.js docker docker-compose