From 75a1922a02f9488f605b8c49994b28b8e764d6be Mon Sep 17 00:00:00 2001 From: Saumit Dinesan Date: Tue, 26 Dec 2023 01:04:24 +0530 Subject: Dockerfile & README.md: Optimizing Docker Image Size, adding persistant db using docker volume flag along w .env --- Dockerfile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile index 41a64e1..6dd20d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,27 @@ -#FROM golang:1.21.5-bullseye - debian/ubuntu has build dependencies(gcc) -FROM golang:1.21.5-alpine +FROM golang:1.21.5-alpine AS builder RUN mkdir /app +WORKDIR /app -ADD . /app +COPY go.mod go.sum ./ +RUN go mod download -WORKDIR /app +COPY . . #Install the build dependencies RUN apk add --no-cache gcc libc-dev +# Build the binary #CGO_ENABLED=1 for go-sqlite3 to work RUN CGO_ENABLED=1 go build -o main . +# Runner Stage +FROM alpine:latest + +WORKDIR /app + +COPY --from=builder /app/main . + # Volume for SSL/TLS Certificates(optional for development) VOLUME /certs -- cgit v1.2.3