mirror of
https://github.com/jessfraz/dockerfiles.git
synced 2025-12-11 23:42:41 +01:00
@@ -13,73 +13,68 @@ LABEL maintainer "Jessie Frazelle <jess@linux.com>"
|
|||||||
|
|
||||||
# Install CRI-O/runc/ostree dependencies
|
# Install CRI-O/runc/ostree dependencies
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
bison \
|
|
||||||
btrfs-tools \
|
btrfs-tools \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl \
|
thin-provisioning-tools \
|
||||||
e2fslibs-dev \
|
|
||||||
gcc \
|
|
||||||
git \
|
|
||||||
libapparmor-dev \
|
|
||||||
libassuan-dev \
|
|
||||||
libc6-dev \
|
|
||||||
libdevmapper-dev \
|
|
||||||
libfuse-dev \
|
|
||||||
libglib2.0-dev \
|
|
||||||
libgpg-error-dev \
|
|
||||||
libgpgme11-dev \
|
|
||||||
liblzma-dev \
|
|
||||||
libseccomp-dev \
|
|
||||||
libselinux1-dev \
|
|
||||||
libtool \
|
|
||||||
make \
|
|
||||||
pkg-config \
|
|
||||||
--no-install-recommends \
|
--no-install-recommends \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install ostree
|
|
||||||
ENV OSTREE_VERSION v2017.12
|
ENV OSTREE_VERSION v2017.12
|
||||||
RUN set -x \
|
ENV GO_VERSION 1.9.1
|
||||||
|
ENV RUNC_VERSION v1.0.0-rc4
|
||||||
|
ENV CRIO_VERSION v1.0.0
|
||||||
|
|
||||||
|
# Install ostree
|
||||||
|
# Install runc (installs to /sbin/runc)
|
||||||
|
# Install CRI-O (installs to /usr/bin/crio)
|
||||||
|
# NOTE: The install docker the templates package is a stop gap for it not being
|
||||||
|
# vendored into the crio repository
|
||||||
|
RUN buildDeps=' \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bison \
|
||||||
|
curl \
|
||||||
|
e2fslibs-dev \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
libapparmor-dev \
|
||||||
|
libassuan-dev \
|
||||||
|
libc6-dev \
|
||||||
|
libdevmapper-dev \
|
||||||
|
libfuse-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libgpg-error-dev \
|
||||||
|
libgpgme11-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libseccomp-dev \
|
||||||
|
libselinux1-dev \
|
||||||
|
libtool \
|
||||||
|
make \
|
||||||
|
pkg-config \
|
||||||
|
' \
|
||||||
|
&& set -x \
|
||||||
|
&& apt-get update && apt-get install -y $buildDeps --no-install-recommends \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
&& export BUILDPATH="$(mktemp -d)" \
|
&& export BUILDPATH="$(mktemp -d)" \
|
||||||
&& git clone --depth 1 -b "$OSTREE_VERSION" --recursive https://github.com/ostreedev/ostree.git "${BUILDPATH}/ostree" \
|
&& git clone --depth 1 -b "$OSTREE_VERSION" --recursive https://github.com/ostreedev/ostree.git "${BUILDPATH}/ostree" \
|
||||||
&& ( \
|
&& ( \
|
||||||
cd "${BUILDPATH}/ostree" \
|
cd "${BUILDPATH}/ostree" \
|
||||||
&& git submodule update --init \
|
&& git submodule update --init \
|
||||||
&& env NOCONFIGURE=1 ./autogen.sh \
|
&& env NOCONFIGURE=1 ./autogen.sh \
|
||||||
&& ./configure --prefix=/ \
|
&& ./configure --prefix="" \
|
||||||
&& make \
|
&& make \
|
||||||
&& make install \
|
&& make install \
|
||||||
) \
|
) \
|
||||||
&& rm -rf "$BUILDPATH"
|
&& curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -xzC /usr/local \
|
||||||
|
&& export PATH=/go/bin:/usr/local/go/bin:$PATH \
|
||||||
# Install Go
|
|
||||||
ENV GO_VERSION 1.9.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \
|
|
||||||
| tar -xzC /usr/local
|
|
||||||
|
|
||||||
ENV PATH /go/bin:/usr/local/go/bin:$PATH
|
|
||||||
ENV GOPATH /go
|
|
||||||
|
|
||||||
# Install runc (installs to /sbin/runc)
|
|
||||||
ENV RUNC_VERSION v1.0.0-rc4
|
|
||||||
RUN set -x \
|
|
||||||
&& export GOPATH="$(mktemp -d)" \
|
&& export GOPATH="$(mktemp -d)" \
|
||||||
&& git clone --depth 1 -b "$RUNC_VERSION" https://github.com/opencontainers/runc.git "${GOPATH}/src/github.com/opencontainers/runc" \
|
&& git clone --depth 1 -b "$RUNC_VERSION" https://github.com/opencontainers/runc.git "${GOPATH}/src/github.com/opencontainers/runc" \
|
||||||
&& ( \
|
&& ( \
|
||||||
cd "${GOPATH}/src/github.com/opencontainers/runc" \
|
cd "${GOPATH}/src/github.com/opencontainers/runc" \
|
||||||
&& make static BUILDTAGS="seccomp selinux apparmor" \
|
&& sed -i "s#go build -i#go build#" Makefile \
|
||||||
|
&& make static BUILDTAGS="seccomp selinux apparmor" EXTRA_FLAGS="-a -installsuffix netgo" \
|
||||||
&& make install PREFIX="" \
|
&& make install PREFIX="" \
|
||||||
) \
|
) \
|
||||||
&& rm -rf "$GOPATH"
|
|
||||||
|
|
||||||
# Install CRI-O (installs to /usr/bin/crio)
|
|
||||||
# NOTE: The install docker the templates package is a stop gap for it not being
|
|
||||||
# vendored into the crio repository
|
|
||||||
ENV CRIO_VERSION v1.0.0
|
|
||||||
RUN set -x \
|
|
||||||
&& export GOPATH="$(mktemp -d)" \
|
|
||||||
&& ( \
|
&& ( \
|
||||||
go get -u github.com/docker/docker/daemon/logger/templates \
|
go get -u github.com/docker/docker/daemon/logger/templates \
|
||||||
&& cd "${GOPATH}/src/github.com/docker/docker" \
|
&& cd "${GOPATH}/src/github.com/docker/docker" \
|
||||||
@@ -89,9 +84,13 @@ RUN set -x \
|
|||||||
&& git clone --depth 1 -b "$CRIO_VERSION" https://github.com/kubernetes-incubator/cri-o.git "${GOPATH}/src/github.com/kubernetes-incubator/cri-o" \
|
&& git clone --depth 1 -b "$CRIO_VERSION" https://github.com/kubernetes-incubator/cri-o.git "${GOPATH}/src/github.com/kubernetes-incubator/cri-o" \
|
||||||
&& ( \
|
&& ( \
|
||||||
cd "${GOPATH}/src/github.com/kubernetes-incubator/cri-o" \
|
cd "${GOPATH}/src/github.com/kubernetes-incubator/cri-o" \
|
||||||
&& make binaries crio.conf BUILDTAGS="seccomp apparmor selinux" \
|
&& sed -i "s#-ldflags '#-a -installsuffix netgo -ldflags '-linkmode external -s -extldflags -static #" Makefile \
|
||||||
|
&& CGO_ENABLED=1 make binaries crio.conf BUILDTAGS="netgo cgo seccomp apparmor selinux $(./hack/btrfs_tag.sh) $(./hack/libdm_tag.sh) $(./hack/btrfs_installed_tag.sh)" \
|
||||||
&& make install.bin install.config PREFIX="" \
|
&& make install.bin install.config PREFIX="" \
|
||||||
|
&& sed -i 's#runtime = "/usr/bin/runc"#runtime = "/sbin/runc"#' /etc/crio/crio.conf \
|
||||||
) \
|
) \
|
||||||
&& rm -rf "$GOPATH"
|
&& rm -rf "$BUILDPATH" "$GOPATH" "/usr/local/go" \
|
||||||
|
&& find / -iname "*ostree*" | xargs rm -vrf \
|
||||||
|
&& apt-get purge -y --auto-remove $buildDeps
|
||||||
|
|
||||||
CMD [ "crio" ]
|
CMD [ "crio" ]
|
||||||
|
|||||||
Reference in New Issue
Block a user