-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
37 lines (27 loc) · 879 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM node:14.19
MAINTAINER J. Scott Smith <[email protected]>
#
# Following Best Practices and guidelines at:
# https://nodejs.org/en/docs/guides/nodejs-docker-webapp/
# https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md
#
RUN groupmod -g 2000 node \
&& usermod -u 2000 -g 2000 node
RUN mkdir -p /data/json \
&& chown -R node:node /data/json
VOLUME /data/json
WORKDIR /home/node/app
# Best practice: run with NODE_ENV set to production
ENV NODE_ENV production
# Install dependencies
COPY package.json /home/node/app
COPY package-lock.json /home/node/app
RUN npm install
# Best practice: run as user 'node'
USER node
EXPOSE 8080
# Copy source dist; relies on .dockerignore
# NOTE: Must perform 'npm run build' beforehand
COPY . /home/node/app
# Best practice: bypass the package.json's start
CMD [ "node", "./dist/server/main.js" ]