Files
demo/build/Dockerfile
T
2026-10-09 00:56:34 +00:00

22 lines
764 B
Docker

FROM docker.io/library/golang:1.25.14-bookworm@sha256:c268a04d59aea0b180ed9946a658cfab9e7b3391dc90eed6e4969ccff98c851f AS build
ENV GOTOOLCHAIN=local CGO_ENABLED=0
WORKDIR /src
COPY src/go.* ./
RUN --mount=type=cache,target=/go/pkg/mod go mod download
COPY src/ ./
RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg/mod \
test -z "$(gofmt -l .)" \
&& go test ./... \
&& go vet ./... \
&& go build -trimpath -ldflags='-s -w' -o /out/demo .
FROM scratch AS runtime
ARG SOURCE_REVISION
LABEL org.opencontainers.image.source="https://git.dever.cc/rabin/demo" \
org.opencontainers.image.revision=$SOURCE_REVISION
COPY --from=build /out/demo /demo
USER 65532:65532
ENV PORT=8080
EXPOSE 8080
ENTRYPOINT ["/demo"]