5118f143 |
# docker build -t docker:simple -f Dockerfile.simple .
# docker run --rm docker:simple hack/make.sh dynbinary |
ece4b5bd |
# 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 |
5118f143 |
# This represents the bare minimum required to build and test Docker.
FROM debian:jessie
|
e285a304 |
# allow replacing httpredir or deb mirror
ARG APT_MIRROR=deb.debian.org
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
bd31b243 |
# Compile and runtime deps |
5118f143 |
# 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 \ |
4bf770a4 |
build-essential \ |
b5763f8f |
curl \ |
d58b4762 |
cmake \ |
5118f143 |
gcc \
git \ |
4bf770a4 |
libapparmor-dev \ |
5118f143 |
libdevmapper-dev \
libsqlite3-dev \
\
ca-certificates \
e2fsprogs \
iptables \
procps \ |
2b766a45 |
xfsprogs \ |
5118f143 |
xz-utils \
\ |
ece4b5bd |
aufs-tools \ |
d58b4762 |
vim-common \ |
5118f143 |
&& rm -rf /var/lib/apt/lists/*
|
bd31b243 |
# Install seccomp: the version shipped in trusty is too old |
d864a146 |
ENV SECCOMP_VERSION 2.3.1 |
4bf770a4 |
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. |
7d8831c0 |
ENV GO_VERSION 1.7.3 |
732d1035 |
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \ |
4bf770a4 |
| tar -xzC /usr/local
ENV PATH /go/bin:/usr/local/go/bin:$PATH |
f2614f21 |
ENV GOPATH /go |
4bf770a4 |
ENV CGO_LDFLAGS -L/lib
|
d58b4762 |
# Install runc, containerd, tini and docker-proxy |
1b41125a |
# Please edit hack/dockerfile/install-binaries.sh to update them. |
2790ac68 |
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits |
1b41125a |
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh |
d58b4762 |
RUN /tmp/install-binaries.sh runc containerd tini proxy |
ee3ac3aa |
|
5118f143 |
ENV AUTO_GOPATH 1
WORKDIR /usr/src/docker
COPY . /usr/src/docker |