12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # docker build -t docker:simple -f Dockerfile.simple .
- # docker run --rm docker:simple hack/make.sh dynbinary
- # docker run --rm --privileged docker:simple hack/dind hack/make.sh test-unit
- # docker run --rm --privileged -v /var/lib/docker docker:simple hack/dind hack/make.sh dynbinary test-integration-cli
- # This represents the bare minimum required to build and test Docker.
- FROM debian:jessie
- # compile and runtime deps
- # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
- # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
- RUN apt-get update && apt-get install -y --no-install-recommends \
- btrfs-tools \
- build-essential \
- curl \
- gcc \
- git \
- libapparmor-dev \
- libdevmapper-dev \
- libsqlite3-dev \
- \
- ca-certificates \
- e2fsprogs \
- iptables \
- procps \
- xfsprogs \
- xz-utils \
- \
- aufs-tools \
- && rm -rf /var/lib/apt/lists/*
- # install seccomp: the version shipped in trusty is too old
- ENV SECCOMP_VERSION 2.3.1
- RUN set -x \
- && export SECCOMP_PATH="$(mktemp -d)" \
- && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
- | tar -xzC "$SECCOMP_PATH" --strip-components=1 \
- && ( \
- cd "$SECCOMP_PATH" \
- && ./configure --prefix=/usr/local \
- && make \
- && make install \
- && ldconfig \
- ) \
- && rm -rf "$SECCOMP_PATH"
- # Install Go
- # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines
- # will need updating, to avoid errors. Ping #docker-maintainers on IRC
- # with a heads-up.
- ENV GO_VERSION 1.6.3
- RUN curl -fsSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" \
- | tar -xzC /usr/local
- ENV PATH /go/bin:/usr/local/go/bin:$PATH
- ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
- ENV CGO_LDFLAGS -L/lib
- # Install runc
- ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
- RUN set -x \
- && export GOPATH="$(mktemp -d)" \
- && git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
- && cd "$GOPATH/src/github.com/opencontainers/runc" \
- && git checkout -q "$RUNC_COMMIT" \
- && make static BUILDTAGS="seccomp apparmor selinux" \
- && cp runc /usr/local/bin/docker-runc \
- && rm -rf "$GOPATH"
- # Install containerd
- ENV CONTAINERD_COMMIT 0ac3cd1be170d180b2baed755e8f0da547ceb267
- RUN set -x \
- && export GOPATH="$(mktemp -d)" \
- && git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
- && cd "$GOPATH/src/github.com/docker/containerd" \
- && git checkout -q "$CONTAINERD_COMMIT" \
- && make static \
- && cp bin/containerd /usr/local/bin/docker-containerd \
- && cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
- && cp bin/ctr /usr/local/bin/docker-containerd-ctr \
- && rm -rf "$GOPATH"
- ENV AUTO_GOPATH 1
- WORKDIR /usr/src/docker
- COPY . /usr/src/docker
|