22 lines
538 B
Docker
22 lines
538 B
Docker
FROM node:lts-alpine AS dev
|
|
|
|
# define /app as working directory
|
|
WORKDIR /app
|
|
|
|
# copy package.json and package-lock.json to /app
|
|
COPY package.json /app
|
|
COPY package-lock.json /app
|
|
|
|
# install node dependencies
|
|
RUN npm install
|
|
COPY . /app
|
|
|
|
# launch node server
|
|
ENTRYPOINT npm run dev
|
|
|
|
# production
|
|
# we will not use npm in production as it wants to write on the container filesystem. this should be prohibited on production. however, we need to allow it while developing.
|
|
FROM dev AS prod
|
|
RUN npm install --production
|
|
ENTRYPOINT node app.js
|