github.com/jen20/docker@v1.13.1/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 # allow replacing httpredir or deb mirror 11 ARG APT_MIRROR=deb.debian.org 12 RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list 13 14 # Compile and runtime deps 15 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies 16 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies 17 RUN apt-get update && apt-get install -y --no-install-recommends \ 18 btrfs-tools \ 19 build-essential \ 20 curl \ 21 cmake \ 22 gcc \ 23 git \ 24 libapparmor-dev \ 25 libdevmapper-dev \ 26 libsqlite3-dev \ 27 \ 28 ca-certificates \ 29 e2fsprogs \ 30 iptables \ 31 procps \ 32 xfsprogs \ 33 xz-utils \ 34 \ 35 aufs-tools \ 36 vim-common \ 37 && rm -rf /var/lib/apt/lists/* 38 39 # Install seccomp: the version shipped in trusty is too old 40 ENV SECCOMP_VERSION 2.3.1 41 RUN set -x \ 42 && export SECCOMP_PATH="$(mktemp -d)" \ 43 && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \ 44 | tar -xzC "$SECCOMP_PATH" --strip-components=1 \ 45 && ( \ 46 cd "$SECCOMP_PATH" \ 47 && ./configure --prefix=/usr/local \ 48 && make \ 49 && make install \ 50 && ldconfig \ 51 ) \ 52 && rm -rf "$SECCOMP_PATH" 53 54 # Install Go 55 # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines 56 # will need updating, to avoid errors. Ping #docker-maintainers on IRC 57 # with a heads-up. 58 ENV GO_VERSION 1.7.5 59 RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \ 60 | tar -xzC /usr/local 61 ENV PATH /go/bin:/usr/local/go/bin:$PATH 62 ENV GOPATH /go 63 ENV CGO_LDFLAGS -L/lib 64 65 # Install runc, containerd, tini and docker-proxy 66 # Please edit hack/dockerfile/install-binaries.sh to update them. 67 COPY hack/dockerfile/binaries-commits /tmp/binaries-commits 68 COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh 69 RUN /tmp/install-binaries.sh runc containerd tini proxy 70 71 ENV AUTO_GOPATH 1 72 WORKDIR /usr/src/docker 73 COPY . /usr/src/docker