mirror of https://github.com/containers/podman.git
37 lines
1.3 KiB
Docker
37 lines
1.3 KiB
Docker
ARG GOLANG_VERSION=1.15
|
|
ARG ALPINE_VERSION=3.12
|
|
ARG CNI_VERSION=v0.8.0
|
|
ARG CNI_PLUGINS_VERSION=v0.8.7
|
|
ARG DNSNAME_VERSION=v1.0.0
|
|
|
|
FROM golang:${GOLANG_VERSION}-alpine${ALPINE_VERSION} AS golang-base
|
|
RUN apk add --no-cache git
|
|
|
|
FROM golang-base AS cnitool
|
|
RUN git clone https://github.com/containernetworking/cni /go/src/github.com/containernetworking/cni
|
|
WORKDIR /go/src/github.com/containernetworking/cni
|
|
ARG CNI_VERSION
|
|
RUN git checkout ${CNI_VERSION}
|
|
RUN go build -o /cnitool ./cnitool
|
|
|
|
FROM golang-base AS dnsname
|
|
RUN git clone https://github.com/containers/dnsname /go/src/github.com/containers/dnsname
|
|
WORKDIR /go/src/github.com/containers/dnsname
|
|
ARG DNSNAME_VERSION
|
|
RUN git checkout ${DNSNAME_VERSION}
|
|
RUN go build -o /dnsname ./plugins/meta/dnsname
|
|
|
|
FROM alpine:${ALPINE_VERSION}
|
|
RUN apk add --no-cache curl dnsmasq iptables ip6tables iproute2
|
|
ARG TARGETARCH
|
|
ARG CNI_PLUGINS_VERSION
|
|
RUN mkdir -p /opt/cni/bin && \
|
|
curl -fsSL https://github.com/containernetworking/plugins/releases/download/${CNI_PLUGINS_VERSION}/cni-plugins-linux-${TARGETARCH}-${CNI_PLUGINS_VERSION}.tgz | tar xz -C /opt/cni/bin
|
|
COPY --from=cnitool /cnitool /usr/local/bin
|
|
COPY --from=dnsname /dnsname /opt/cni/bin
|
|
COPY rootless-cni-infra /usr/local/bin
|
|
ENV CNI_PATH=/opt/cni/bin
|
|
CMD ["sleep", "infinity"]
|
|
|
|
ENV ROOTLESS_CNI_INFRA_VERSION=3
|