npm ERR! 缺less脚本:Docker启动错误
当运行docker-compose
启动我的应用程序时,我得到一个npm ERR! missing script: start
npm ERR! missing script: start
尽pipe指定了启动脚本,但仍启动。
package.json是
{ "name": "myapp", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "~1.17.1", "cookie-parser": "~1.4.3", "debug": "~2.6.3", "ejs": "~2.5.6", "express": "~4.15.2", "mongoose": "^4.11.1", "morgan": "~1.8.1", "serve-favicon": "~2.4.2" } }
和docker-compose.yml是
version: "2" services: web: build: . volumes: - ./:/app ports: - "3500:3500"
2件事对我来说没有意义:
- 使用Dockerfile启动应用程序的工作原理:如果启动脚本丢失真的是问题,是不是也会失败?
- package.json的确有一个启动脚本,你可以在上面看到
不知道是否需要,但Dockerfile是
FROM node:argon RUN mkdir /app WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 3500 ENV PORT 3500 CMD ["npm", "start"]
编辑:我使用docker run -p 3500:3500 app
和docker-compose up
我是新来的,所以可能会失去一些东西,但现在有点卡住了。
您可以尝试删除卷部分- ./:/app
它看起来像/ app是在容器中创build的,但随后你将一个主机目录挂载到/ app,从而隐藏了容器中的原始/ app。