diff --git a/Dockerfile b/Dockerfile index 411d772..70c1d8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,14 @@ -FROM golang:1.22.1-alpine as build +FROM --platform=$BUILDPLATFORM golang:1.22.1-alpine as build -COPY *.go /go/src/github.com/nanoandrew4/ngcplogs/ -COPY go.mod /go/src/github.com/nanoandrew4/ngcplogs/ -COPY go.sum /go/src/github.com/nanoandrew4/ngcplogs/ - -RUN cd /go/src/github.com/nanoandrew4/ngcplogs && go get && go build --ldflags '-extldflags "-static"' -o /usr/bin/ngcplogs +WORKDIR /goapp +COPY go.mod go.sum ./ +RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg go mod download +COPY *.go ./ +ARG TARGETOS TARGETARCH +RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o ngcplogs . FROM alpine:3.19.1 -COPY --from=build /usr/bin/ngcplogs usr/bin +COPY --from=build /goapp/ngcplogs usr/bin WORKDIR /usr/bin -ENTRYPOINT [ "/usr/bin/ngcplogs" ] \ No newline at end of file +ENTRYPOINT [ "/usr/bin/ngcplogs" ]