github.com/fabiokung/docker@v0.11.2-0.20170222101415-4534dcd49497/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 ca-certificates \ 27 e2fsprogs \ 28 iptables \ 29 procps \ 30 xfsprogs \ 31 xz-utils \ 32 \ 33 aufs-tools \ 34 vim-common \ 35 && rm -rf /var/lib/apt/lists/* 36 37 # Install seccomp: the version shipped in trusty is too old 38 ENV SECCOMP_VERSION 2.3.1 39 RUN set -x \ 40 && export SECCOMP_PATH="$(mktemp -d)" \ 41 && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \ 42 | tar -xzC "$SECCOMP_PATH" --strip-components=1 \ 43 && ( \ 44 cd "$SECCOMP_PATH" \ 45 && ./configure --prefix=/usr/local \ 46 && make \ 47 && make install \ 48 && ldconfig \ 49 ) \ 50 && rm -rf "$SECCOMP_PATH" 51 52 # Install Go 53 # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines 54 # will need updating, to avoid errors. Ping #docker-maintainers on IRC 55 # with a heads-up. 56 ENV GO_VERSION 1.7.5 57 RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \ 58 | tar -xzC /usr/local 59 ENV PATH /go/bin:/usr/local/go/bin:$PATH 60 ENV GOPATH /go 61 ENV CGO_LDFLAGS -L/lib 62 63 # Install runc, containerd, tini and docker-proxy 64 # Please edit hack/dockerfile/install-binaries.sh to update them. 65 COPY hack/dockerfile/binaries-commits /tmp/binaries-commits 66 COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh 67 RUN /tmp/install-binaries.sh runc containerd tini proxy 68 69 ENV AUTO_GOPATH 1 70 WORKDIR /usr/src/docker 71 COPY . /usr/src/docker