github.com/endophage/docker@v1.4.2-0.20161027011718-242853499895/Dockerfile.simple (about) 1 # docker build -t docker:simple -f Dockerfile.simple . 2 # docker run --rm docker:simple hack/make.sh dynbinary 3 # docker run --rm --privileged docker:simple hack/dind hack/make.sh test-unit 4 # docker run --rm --privileged -v /var/lib/docker docker:simple hack/dind hack/make.sh dynbinary test-integration-cli 5 6 # This represents the bare minimum required to build and test Docker. 7 8 FROM debian:jessie 9 10 # Compile and runtime deps 11 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies 12 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies 13 RUN apt-get update && apt-get install -y --no-install-recommends \ 14 btrfs-tools \ 15 build-essential \ 16 curl \ 17 gcc \ 18 git \ 19 libapparmor-dev \ 20 libdevmapper-dev \ 21 libsqlite3-dev \ 22 \ 23 ca-certificates \ 24 e2fsprogs \ 25 iptables \ 26 procps \ 27 xfsprogs \ 28 xz-utils \ 29 \ 30 aufs-tools \ 31 && rm -rf /var/lib/apt/lists/* 32 33 # Install seccomp: the version shipped in trusty is too old 34 ENV SECCOMP_VERSION 2.3.1 35 RUN set -x \ 36 && export SECCOMP_PATH="$(mktemp -d)" \ 37 && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \ 38 | tar -xzC "$SECCOMP_PATH" --strip-components=1 \ 39 && ( \ 40 cd "$SECCOMP_PATH" \ 41 && ./configure --prefix=/usr/local \ 42 && make \ 43 && make install \ 44 && ldconfig \ 45 ) \ 46 && rm -rf "$SECCOMP_PATH" 47 48 # Install Go 49 # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines 50 # will need updating, to avoid errors. Ping #docker-maintainers on IRC 51 # with a heads-up. 52 ENV GO_VERSION 1.7.3 53 RUN curl -fsSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" \ 54 | tar -xzC /usr/local 55 ENV PATH /go/bin:/usr/local/go/bin:$PATH 56 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor 57 ENV CGO_LDFLAGS -L/lib 58 59 # Install runc, containerd, grimes and docker-proxy 60 # Please edit hack/dockerfile/install-binaries.sh to update them. 61 COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh 62 RUN /tmp/install-binaries.sh runc containerd grimes proxy 63 64 ENV AUTO_GOPATH 1 65 WORKDIR /usr/src/docker 66 COPY . /usr/src/docker