From 8fd8df75be739d3205d996c01eb86a4555b035ff Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 2 Apr 2022 21:50:12 +0200 Subject: [PATCH] Reduce Docker image size again. --- docker/Dockerfile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 800d43c5..053e2045 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,15 +3,25 @@ FROM node:16-alpine3.15 as base WORKDIR /app RUN apk add --no-cache tzdata eudev tini -COPY package.json package-lock.json tsconfig.json index.js LICENSE index.js data/configuration.yaml ./ -COPY lib ./lib -COPY dist ./dist +COPY package.json ./ + +# Dependencies and build +FROM base as dependencies_and_build + +COPY package-lock.json tsconfig.json index.js ./ +COPY lib ./lib -# Install dependencies RUN apk add --no-cache --virtual .buildtools make gcc g++ python3 linux-headers git && \ npm ci --production --no-audit --no-optional --no-update-notifier && \ apk del .buildtools +# Release +FROM base as release + +COPY --from=dependencies_and_build /app/node_modules ./node_modules +COPY dist ./dist +COPY LICENSE index.js data/configuration.yaml ./ + COPY docker/docker-entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-entrypoint.sh @@ -21,4 +31,4 @@ ARG COMMIT RUN echo "$COMMIT" > dist/.hash ENTRYPOINT ["docker-entrypoint.sh"] -CMD [ "/sbin/tini", "--", "node", "index.js"] +CMD [ "/sbin/tini", "--", "node", "index.js"] \ No newline at end of file