-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
27 lines (24 loc) · 765 Bytes
/
Dockerfile
File metadata and controls
27 lines (24 loc) · 765 Bytes
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
# Cria um container usando Multi Stage Builds para reduzir seu tamanho,
# não instalando no container final coisas como o npm.
# https://btholt.github.io/complete-intro-to-containers/multi-stage-builds
# Build Stage
FROM node:18-alpine as build
WORKDIR /build
# Copia os arquivos do contexto atual (parâmetro path do comando docker build)
# para a WORKDIR no container.
COPY package-lock.json package.json ./
RUN npm update
#RUN npm ci
RUN npm i
RUN npm i pm2
COPY . .
# Runtime Stage
FROM ubuntu:latest
RUN apt install nodejs
RUN addgroup -S node && adduser -S node -G node
USER node
RUN mkdir /home/node/backend
WORKDIR /home/node/backend
COPY --from=build --chown=node:node /build .
ENV PATH="${PATH}:node_modules/pm2/bin/"
CMD ["pm2-runtime", "server.js"]