multi stage build docker, to minimize the docker image file

This commit is contained in:
lth
2024-02-19 17:16:29 +01:00
committed by GitHub
parent 55299f001f
commit af70930be2

View File

@@ -1,20 +1,30 @@
FROM node:16-buster-slim # Build stage
FROM node:16-buster-slim AS build
RUN apt-get update && \
apt-get install -y chromium traceroute && \
chmod 755 /usr/bin/chromium && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app WORKDIR /app
COPY package.json yarn.lock ./ COPY package.json yarn.lock ./
RUN yarn install && \ RUN apt-get update && \
yarn install --production && \
rm -rf /app/node_modules/.cache rm -rf /app/node_modules/.cache
COPY . . COPY . .
RUN yarn build RUN yarn build --production
# Final stage
FROM node:16-buster-slim AS final
WORKDIR /app
COPY package.json yarn.lock ./
COPY --from=build /app .
RUN apt-get update && \
apt-get install -y --no-install-recommends chromium traceroute && \
chmod 755 /usr/bin/chromium && \
rm -rf /var/lib/apt/lists/* /app/node_modules/.cache
EXPOSE ${PORT:-3000} EXPOSE ${PORT:-3000}