From 0156c7e11ff63bd8f49cb683e4c755ff7f77cabc Mon Sep 17 00:00:00 2001 From: aqyuki Date: Fri, 30 Aug 2024 20:36:34 +0900 Subject: [PATCH] perf: reduce image size by 21.3MB (#3849) - Change base image to distroless (static-debian12) - Remove unnecessary RUN instructions - Add build options - add options to delete debug information - add options to remobe embedded paths --- Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 93697eb5..00bf4309 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,13 +17,12 @@ WORKDIR /backend-build COPY . . COPY --from=frontend /frontend-build/web/dist /backend-build/server/router/frontend/dist -RUN CGO_ENABLED=0 go build -o memos ./bin/memos/main.go +RUN CGO_ENABLED=0 go build -ldflags='-s -w' -trimpath -o memos ./bin/memos/main.go # Make workspace with above generated files. -FROM alpine:latest AS monolithic +FROM gcr.io/distroless/static-debian12:latest AS monolithic WORKDIR /usr/local/memos -RUN apk add --no-cache tzdata ENV TZ="UTC" COPY --from=backend /backend-build/memos /usr/local/memos/ @@ -31,7 +30,6 @@ COPY --from=backend /backend-build/memos /usr/local/memos/ EXPOSE 5230 # Directory to store the data, which can be referenced as the mounting point. -RUN mkdir -p /var/opt/memos VOLUME /var/opt/memos ENV MEMOS_MODE="prod"