cloudflare/cloudflared
Publicmirrored from https://github.com/cloudflare/cloudflaredAvailable
Dockerfile.amd64
27lines · modecode
| 1 | # use a builder image for building cloudflare |
| 2 | FROM golang:1.19 as builder |
| 3 | ENV GO111MODULE=on \ |
| 4 | CGO_ENABLED=0 |
| 5 | |
| 6 | WORKDIR /go/src/github.com/cloudflare/cloudflared/ |
| 7 | |
| 8 | # copy our sources into the builder image |
| 9 | COPY . . |
| 10 | |
| 11 | # compile cloudflared |
| 12 | RUN GOOS=linux GOARCH=amd64 make cloudflared |
| 13 | |
| 14 | # use a distroless base image with glibc |
| 15 | FROM gcr.io/distroless/base-debian11:nonroot |
| 16 | |
| 17 | LABEL org.opencontainers.image.source="https://github.com/cloudflare/cloudflared" |
| 18 | |
| 19 | # copy our compiled binary |
| 20 | COPY --from=builder --chown=nonroot /go/src/github.com/cloudflare/cloudflared/cloudflared /usr/local/bin/ |
| 21 | |
| 22 | # run as non-privileged user |
| 23 | USER nonroot |
| 24 | |
| 25 | # command / entrypoint of container |
| 26 | ENTRYPOINT ["cloudflared", "--no-autoupdate"] |
| 27 | CMD ["version"] |
| 28 | |