mirror of
https://github.com/eliasstepanik/caddy-ingess.git
synced 2026-01-11 04:28:28 +00:00
* Build Go binary inside Docker You can (and should) use Docker to build Go programs. With this updated `Dockerfile` you can build the binary with one simple command `docker build -t your-image-name:tag .`, then push it to your favorite registry and use it in the Helm chart. * Update Dockerfile from origin
27 lines
683 B
Docker
27 lines
683 B
Docker
FROM golang:alpine AS build
|
|
WORKDIR /app
|
|
ADD . /app
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./bin/ingress-controller ./cmd/caddy
|
|
|
|
FROM alpine:latest as certs
|
|
RUN apk --update add ca-certificates
|
|
|
|
FROM golang:1.13.5 as builder
|
|
WORKDIR /build
|
|
ENV CGO_ENABLED=0
|
|
ENV GOOS=linux
|
|
ENV GOARCH=amd64
|
|
RUN mkdir -p ./bin
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY ./cmd ./cmd
|
|
COPY ./pkg ./pkg
|
|
COPY ./internal ./internal
|
|
RUN go build -o ./bin/ingress-controller ./cmd/caddy
|
|
|
|
FROM scratch
|
|
COPY --from=builder /build/bin/ingress-controller .
|
|
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
|
EXPOSE 80 443
|
|
ENTRYPOINT ["/ingress-controller"]
|