From 9a52eba4c06a56697b230540f74bf21e354ca482 Mon Sep 17 00:00:00 2001 From: holzmaster Date: Thu, 18 Jan 2024 13:22:42 +0100 Subject: [PATCH] Use lockfiles from bind mount and drop extra COPY layer --- Dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index d7519f7c..e7cf1cc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,17 +7,21 @@ FROM node:21-slim as dependency-base libpixman-1-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev \ && apt-get clean -yqqq - COPY package*.json /app/ - FROM dependency-base as build # Install dependencies (with dev-deps) - RUN npm ci + RUN --mount=type=bind,source=package.json,target=package.json \ + --mount=type=bind,source=package-lock.json,target=package-lock.json \ + --mount=type=cache,target=/root/.npm \ + npm ci COPY . /app/ RUN npm run compile FROM dependency-base as runtime-dependencies - RUN NODE_ENV=production npm ci + RUN --mount=type=bind,source=package.json,target=package.json \ + --mount=type=bind,source=package-lock.json,target=package-lock.json \ + --mount=type=cache,target=/root/.npm \ + NODE_ENV=production npm ci FROM node:21-slim WORKDIR /app