Utilize Multi-stage building to reduce Image-size

This commit is contained in:
Ruakij 2022-11-14 22:39:57 +01:00
parent d5a727c3df
commit ad8d546b78

View File

@ -1,18 +1,28 @@
FROM node:16-alpine
# ---- Base ----
FROM alpine:3 AS base
# Create app directory
WORKDIR /usr/src/app
# Copy project file
COPY package.json .
# Install required apk-packages
RUN apk add --no-cache nodejs npm tcpdump
# ---- Dependencies ----
FROM base AS dependencies
# Install app dependencies
COPY package*.json ./
RUN npm install
RUN npm install --only=production
# remove development dependencies
RUN npm prune --production
# Install required apk-packages & delete cache
RUN apk add --no-cache tcpdump
# ---- Release ----
FROM base AS release
# copy from build image
COPY --from=dependencies /usr/src/app/ ./
# Bundle app source
COPY ./src/ .