# 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 \ curl \ gcc \ git \ golang \ libdevmapper-dev \ libsqlite3-dev \ \ ca-certificates \ e2fsprogs \ iptables \ procps \ xfsprogs \ xz-utils \ \ aufs-tools \ && rm -rf /var/lib/apt/lists/* # Install runc ENV RUNC_COMMIT 0c1c615ebd6a15545b6a82ead01d2745ea49b242 RUN set -x \ && export GOPATH="$(mktemp -d)" \ && git clone git://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 # Install containerd ENV CONTAINERD_COMMIT 07c95162cdcead88dfe4ca0ffb3cea02375ec54d RUN set -x \ && export GOPATH="$(mktemp -d)" \ && git clone git://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 ENV AUTO_GOPATH 1 WORKDIR /usr/src/docker COPY . /usr/src/docker