Spaces:
Sleeping
Sleeping
| # syntax = docker/dockerfile:1-experimental | |
| FROM golang:1.23-alpine AS builder | |
| WORKDIR /home/appuser | |
| COPY go.mod go.sum . | |
| RUN go mod download | |
| COPY main.go . | |
| # -s disable symbol table, -w disable DWARF generation (smaller binary) | |
| # cross compile for amd64 | |
| RUN --mount=type=cache,target=/root/.cache/go-build \ | |
| CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o /bin/mock-server . | |
| # Set platform to x64 | |
| FROM --platform=linux/amd64 gcr.io/distroless/static-debian12:nonroot as server | |
| WORKDIR /home/appuser | |
| COPY --from=builder --chown=nonroot:nonroot /bin/mock-server ./bin/mock-server | |
| EXPOSE 3001/tcp | |
| ENTRYPOINT ["./bin/mock-server"] | |