Something went wrong. Try again.
Cloudflare Tunnel client with NetBSD support
Something went wrong. Try again.
cloudflared Dockerfile
1.5 kB · 42 lines
Dockerfile
at master
12345678910111213141516171819202122232425262728293031323334353637383940414243# use a builder image for building cloudflareARG TARGET_GOOSARG TARGET_GOARCHFROM golang:1.26.8 AS builderENV GO111MODULE=on \ CGO_ENABLED=0 \ GOPROXY=https://athens.cfdata.org|https://proxy.golang.org|direct \ TARGET_GOOS=${TARGET_GOOS} \ TARGET_GOARCH=${TARGET_GOARCH} \ # the CONTAINER_BUILD envvar is used set github.com/cloudflare/cloudflared/metrics.Runtime=virtual # which changes how cloudflared binds the metrics server CONTAINER_BUILD=1
WORKDIR /go/src/github.com/cloudflare/cloudflared/
# Download dependencies in their own layer so source-only changes reuse it.COPY go.mod go.sum ./RUN go mod download
COPY . .
# compile cloudflaredRUN make cloudflared
# use a distroless base image with glibcFROM gcr.io/distroless/base-debian13:nonroot@sha256:0896741ba5bafd3ac87ea025a5f578952f2d238ddc3614cb368acc983a687aa2
LABEL org.opencontainers.image.source="https://github.com/cloudflare/cloudflared"
# copy our compiled binaryCOPY --from=builder --chown=nonroot /go/src/github.com/cloudflare/cloudflared/cloudflared /usr/local/bin/
# run as nonroot user# We need to use numeric user id's because Kubernetes doesn't support strings:# https://github.com/kubernetes/kubernetes/blob/v1.33.2/pkg/kubelet/kuberuntime/security_context_others.go#L49# The `nonroot` user maps to `65532`, from: https://github.com/GoogleContainerTools/distroless/blob/main/common/variables.bzl#L18USER 65532:65532
# command / entrypoint of containerENTRYPOINT ["cloudflared", "--no-autoupdate"]CMD ["version"]