Created
December 17, 2019 09:39
-
-
Save hyperized/e68ff49d001fe170e348a116368de59c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM linuxkit/alpine:6906a00130f0b0209db8cc50803b7423e0c3f245 as alpine | |
RUN apk add -U tzdata | |
RUN mkdir -p /etc/init.d | |
RUN ln -s /usr/bin/service /etc/init.d/020-containerd | |
FROM golang:1.13-alpine as builder | |
ENV containerd_version "v1.3.2" | |
ENV GOPATH=/go | |
ENV PATH=$PATH:/go/bin | |
# Requirements | |
RUN \ | |
apk add \ | |
bash \ | |
git \ | |
libseccomp-dev \ | |
linux-headers \ | |
build-base \ | |
btrfs-progs-dev | |
RUN mkdir -p $GOPATH/src/github.com/containerd | |
WORKDIR cd $GOPATH/src/github.com/containerd | |
RUN git clone --depth=1 --branch=$containerd_version \ | |
https://github.com/containerd/containerd.git $GOPATH/src/github.com/containerd/containerd | |
WORKDIR $GOPATH/src/github.com/containerd/containerd | |
RUN make EXTRA_FLAGS="-buildmode pie" \ | |
EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"' \ | |
BUILDTAGS="netgo osusergo static_build" | |
RUN bin/containerd --version | |
RUN bin/ctr --version | |
RUN mkdir -p /usr/bin/containerd/ | |
RUN cp bin/* /usr/bin/containerd/ | |
RUN ls -lisah /usr/bin/containerd/ | |
# CNI - Loosely based on: https://github.com/containerd/containerd/blob/master/script/setup/install-cni | |
ENV FASTBUILD=true | |
ENV CNI_DIR=/opt/cni | |
WORKDIR $GOPATH | |
RUN go get -d github.com/containernetworking/plugins/... | |
WORKDIR /go/src/github.com/containernetworking/plugins | |
RUN git checkout $(grep containernetworking/plugins ${GOPATH}/src/github.com/containerd/containerd/vendor.conf | awk '{print $2}') | |
RUN ./build.sh | |
RUN mkdir -p $CNI_DIR | |
RUN cp -r ./bin $CNI_DIR | |
FROM scratch | |
ENTRYPOINT [] | |
WORKDIR / | |
COPY --from=alpine /usr/share/zoneinfo/UTC /etc/localtime | |
COPY --from=builder /usr/bin/containerd/ /usr/bin/ | |
COPY --from=builder /opt/cni/ /opt/cni/ | |
COPY --from=alpine /etc/init.d/ /etc/init.d/ | |
COPY config.toml /etc/containerd/config.toml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment