From bd2d79953d92186a49e30865b83282466714e222 Mon Sep 17 00:00:00 2001 From: Kushal Azim Ekram Date: Sat, 11 Mar 2023 21:16:26 -0800 Subject: [PATCH] Added alpine and upx based container build. Much smaller size ~14mb --- docker/Dockerfile.alpine | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docker/Dockerfile.alpine diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine new file mode 100644 index 0000000..5e85e69 --- /dev/null +++ b/docker/Dockerfile.alpine @@ -0,0 +1,19 @@ +FROM golang:1.16.0-alpine as build + +WORKDIR /app +COPY go.mod . +COPY go.sum . +RUN go mod download +# Binary Compression +RUN apk add upx --no-cache + +# Build app and pack using upx +ADD . /app +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-s -w -X main.VERSION=docker' -o gohttpserver && upx gohttpserver + +FROM alpine:3 +WORKDIR /app +ADD assets /usr/local/bin/assets +COPY --from=build /app/gohttpserver /usr/local/bin/gohttpserver +EXPOSE 8000 +ENTRYPOINT [ "/usr/local/bin/gohttpserver" ]