【发布时间】:2020-10-28 19:39:46
【问题描述】:
每次我在终端输入docker-compose up 时都会收到此错误:
blogapp | npm ERR! missing script: start
blogapp |
blogapp | npm ERR! A complete log of this run can be found in:
blogapp | npm ERR! /root/.npm/_logs/2020-10-28T08_54_29_180Z-debug.log
blogapp exited with code 1
我在退出应用程序之前多次收到它。 这是我的 package.json:
"name": "blogapp",
"version": "1.0.0",
"description": "blog app",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "me",
"license": "ISC",
"dependencies": {
"@material/button": "^7.0.0",
"ejs": "^3.1.5",
"express": "^4.17.1",
"mongoose": "^5.10.9",
"morgan": "^1.10.0"
}
}
请帮助我找到这个问题的根源。 如果您需要我分享任何其他文件或信息,请告诉我。
--x--
编辑:
Dockerfile:
FROM node:latest
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]
和 docker-compose.yml:
version: '3'
services:
app:
container_name: blogapp
restart: always
build: .
ports:
- '80:3000'
links:
- mongo
mongo:
container_name: mongoDB
image: mongo
ports:
- '27017:27017'
另外,我不知道如何访问我的调试日志(第一次),所以也请帮助我。
【问题讨论】:
-
你能分享 docker-compose.yml 或 Dockerfile 吗? (取决于您定义启动容器的命令的位置)
-
好像找不到 package.json 文件。确保它是在对应的 Dockerfile 中使用 COPY 命令复制的,或者它安装在 docker-compose.yaml 文件中的正确路径上。
-
@ErikMüller 如果是这样的话,他会发送一个
ENOENT错误。 -
@Stefano 你是对的。我的错。所以它只是找不到 app.js 文件。可能是 blogapp 文件没有正确复制或挂载。
-
我已经编辑了问题以添加 Dockerfile 以及 docker-container.yml... 你可以看看它们。