diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a63fa03 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.env +.git +build +log +go.work +*.test +go.work.sum \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..dcd440c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +# --- builder --- +FROM golang:1.20.6-alpine3.17 as builder +LABEL stage=builder +RUN apk add git +WORKDIR /build + +COPY go.* ./ +RUN go mod download + +COPY . ./ +ARG BUILD_STRING=pretendo.friends.docker +RUN go build -ldflags "-X 'main.serverBuildString=${BUILD_STRING}'" -v -o server + +# --- runner --- +FROM alpine:3.17 as runner +WORKDIR /build + +COPY --from=builder /build/server /build/ +CMD ["/build/server"]