From c62d5570f20bb7413992e89b829baf7528bac6a5 Mon Sep 17 00:00:00 2001 From: Kristoffer Dalby Date: Wed, 24 Apr 2024 07:44:07 +0200 Subject: [PATCH] remove multistep build, build go last, allowing cached build layers (#1903) --- Dockerfile.debug | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/Dockerfile.debug b/Dockerfile.debug index 659ae4cc..4e63dca8 100644 --- a/Dockerfile.debug +++ b/Dockerfile.debug @@ -2,31 +2,24 @@ # and are in no way endorsed by Headscale's maintainers as an # official nor supported release or distribution. -FROM docker.io/golang:1.22-bookworm AS build +FROM docker.io/golang:1.22-bookworm ARG VERSION=dev ENV GOPATH /go WORKDIR /go/src/headscale -COPY go.mod go.sum /go/src/headscale/ -RUN go mod download - -COPY . . - -RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale -RUN test -e /go/bin/headscale - -# Debug image -FROM docker.io/golang:1.22-bookworm - -COPY --from=build /go/bin/headscale /bin/headscale -ENV TZ UTC - RUN apt-get update \ && apt-get install --no-install-recommends --yes less jq \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean RUN mkdir -p /var/run/headscale +COPY go.mod go.sum /go/src/headscale/ +RUN go mod download + +COPY . . + +RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale && test -e /go/bin/headscale + # Need to reset the entrypoint or everything will run as a busybox script ENTRYPOINT [] EXPOSE 8080/tcp