40 строки
2.0 KiB
Docker
40 строки
2.0 KiB
Docker
ARG ARCH
|
|
ARG OS_VERSION
|
|
ARG OS
|
|
|
|
# skopeo inspect docker://mcr.microsoft.com/oss/go/microsoft/golang:1.23.2-cbl-mariner2.0 --format "{{.Name}}@{{.Digest}}"
|
|
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang@sha256:f8613198423d5cb702961f1547f9cb061f8da1c6ca9ce8da4824eb47db663cd7 AS go
|
|
|
|
# skopeo inspect docker://mcr.microsoft.com/cbl-mariner/base/core:2.0 --format "{{.Name}}@{{.Digest}}"
|
|
FROM mcr.microsoft.com/cbl-mariner/base/core@sha256:a490e0b0869dc570ae29782c2bc17643aaaad1be102aca83ce0b96e0d0d2d328 AS mariner-core
|
|
|
|
# skopeo inspect docker://mcr.microsoft.com/cbl-mariner/distroless/minimal:2.0 --format "{{.Name}}@{{.Digest}}"
|
|
FROM mcr.microsoft.com/cbl-mariner/distroless/minimal@sha256:d28cbaa097167b4f5fdea02aac5404e3c9ec6c37499df1e115765e38b0a21660 AS mariner-distroless
|
|
|
|
FROM --platform=linux/${ARCH} go AS builder
|
|
ARG OS
|
|
ARG CNS_AI_ID
|
|
ARG CNS_AI_PATH
|
|
ARG VERSION
|
|
WORKDIR /azure-container-networking
|
|
COPY . .
|
|
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-cns -ldflags "-X main.version="$VERSION" -X "$CNS_AI_PATH"="$CNS_AI_ID"" -gcflags="-dwarflocationlists=true" cns/service/*.go
|
|
|
|
FROM mariner-core AS iptables
|
|
RUN tdnf install -y iptables
|
|
|
|
FROM mariner-distroless AS linux
|
|
COPY --from=iptables /usr/sbin/*tables* /usr/sbin/
|
|
COPY --from=iptables /usr/lib /usr/lib
|
|
COPY --from=builder /go/bin/azure-cns /usr/local/bin/azure-cns
|
|
ENTRYPOINT [ "/usr/local/bin/azure-cns" ]
|
|
EXPOSE 10090
|
|
|
|
# skopeo inspect docker://mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0 --format "{{.Name}}@{{.Digest}}"
|
|
FROM mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as windows
|
|
COPY --from=builder /azure-container-networking/cns/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
|
|
COPY --from=builder /azure-container-networking/npm/examples/windows/setkubeconfigpath.ps1 setkubeconfigpath.ps1
|
|
COPY --from=builder /go/bin/azure-cns /azure-cns.exe
|
|
ENTRYPOINT ["azure-cns.exe"]
|
|
EXPOSE 10090
|