diff --git a/contrib/Dockerfile.test b/contrib/Dockerfile.test index 170c82df0..900fa1bab 100644 --- a/contrib/Dockerfile.test +++ b/contrib/Dockerfile.test @@ -6,26 +6,48 @@ # 3.) $ make binaries install test # +ARG GOLANG_VERSION=1.12 + +FROM golang:${GOLANG_VERSION} AS golang-base +RUN mkdir -p /go/src/github.com/containerd/containerd +WORKDIR /go/src/github.com/containerd/containerd + # Install proto3 -FROM golang:1.11 AS proto3 -RUN apt-get update && apt-get install -y autoconf automake g++ libtool unzip +FROM golang-base AS proto3 +RUN apt-get update && apt-get install -y \ + autoconf \ + automake \ + g++ \ + libtool \ + unzip \ + --no-install-recommends + COPY script/setup/install-protobuf install-protobuf RUN ./install-protobuf # Install runc -FROM golang:1.11 AS runc -RUN apt-get update && apt-get install -y curl libseccomp-dev -COPY vendor.conf /go/src/github.com/containerd/containerd/vendor.conf +FROM golang-base AS runc +RUN apt-get update && apt-get install -y \ + curl \ + libseccomp-dev \ + --no-install-recommends + +COPY vendor.conf vendor.conf COPY script/setup/install-runc install-runc RUN ./install-runc -FROM golang:1.11 -RUN apt-get update && apt-get install -y btrfs-tools gcc git libseccomp-dev make xfsprogs +FROM golang-base AS dev +RUN apt-get update && apt-get install -y \ + btrfs-tools \ + gcc \ + git \ + libseccomp-dev \ + make \ + xfsprogs \ + --no-install-recommends -COPY --from=proto3 /usr/local/bin/protoc /usr/local/bin/protoc +COPY --from=proto3 /usr/local/bin/protoc /usr/local/bin/protoc COPY --from=proto3 /usr/local/include/google /usr/local/include/google +COPY --from=runc /usr/local/sbin/runc /usr/local/go/bin/runc -COPY --from=runc /usr/local/sbin/runc /usr/local/go/bin/runc -COPY . /go/src/github.com/containerd/containerd - -WORKDIR /go/src/github.com/containerd/containerd +COPY . .