From 0548a17cee94daf19de199a41112ce424d27abfa Mon Sep 17 00:00:00 2001 From: Kaindl Network <82705244+kgncloud@users.noreply.github.com> Date: Fri, 7 Apr 2023 14:36:31 +0000 Subject: [PATCH 1/3] Change Baseimage to Distroless Node Image [POC] Reduce attack surface as there is no package manager and reduce the image size further --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a307a45..60abb66 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts-alpine +FROM gcr.io/distroless/nodejs:16 WORKDIR /home/node/app From 7eeded4a95e0297667781409f10ec0101d1576ed Mon Sep 17 00:00:00 2001 From: Kaindl Network <82705244+kgncloud@users.noreply.github.com> Date: Fri, 7 Apr 2023 14:42:30 +0000 Subject: [PATCH 2/3] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 60abb66..eaa121c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM gcr.io/distroless/nodejs:16 +FROM gcr.io/distroless/nodejs:18 WORKDIR /home/node/app From ac35d8854f484aa56d6f7e8c54fa920d40880dc7 Mon Sep 17 00:00:00 2001 From: Kaindl Network <82705244+kgncloud@users.noreply.github.com> Date: Fri, 7 Apr 2023 14:48:26 +0000 Subject: [PATCH 3/3] Update Dockerfile --- Dockerfile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index eaa121c..5e9eb67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,22 @@ -FROM gcr.io/distroless/nodejs:18 - -WORKDIR /home/node/app +# Prepare Nodejs Project +FROM node:18 AS builder COPY package*.json ./ +WORKDIR /home/node/app + RUN npm ci COPY . . +# Copy build and put it in distroless Image + +FROM gcr.io/distroless/nodejs:18 + +COPY --from=builder /home/node/app /home/node/app + +WORKDIR /home/node/app + EXPOSE 3000 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \