npm ERR! missing script: start error with Docker
11,675
You could try removing the volumes section
- ./:/app
It looks like the /app is created within the container, but then subsequently you mount a host directory to /app, thus hiding the original /app in the container.
Author by
mcansado
Looking forward to when I know enough to answer other people's Ethereum questions. Until then...
Updated on June 09, 2022Comments
-
mcansado almost 2 years
When running
docker-compose
to launch my app, I'm getting anpm ERR! missing script: start
despite having a start script specified.package.json is
{ "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" } }
and docker-compose.yml is
version: "2" services: web: build: . volumes: - ./:/app ports: - "3500:3500"
2 things are not making sense to me:
- Launching the app with its Dockerfile works: if the missing start script really was the problem, shouldn't this fail as well?
- package.json does have a start script as you can see above
Not sure if needed but the Dockerfile is
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"]
EDIT: I'm using
docker run -p 3500:3500 app
anddocker-compose up
I'm new to this so may be missing something but am a bit stuck now.