github.com/sams1990/dockerrepo@v17.12.1-ce-rc2+incompatible/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
     5  
     6  # This represents the bare minimum required to build and test Docker.
     7  
     8  FROM debian:stretch
     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  		libseccomp-dev \
    27  		ca-certificates \
    28  		e2fsprogs \
    29  		iptables \
    30  		procps \
    31  		xfsprogs \
    32  		xz-utils \
    33  		\
    34  		aufs-tools \
    35  		vim-common \
    36  	&& rm -rf /var/lib/apt/lists/*
    37  
    38  # Install Go
    39  # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines
    40  #            will need updating, to avoid errors. Ping #docker-maintainers on IRC
    41  #            with a heads-up.
    42  # IMPORTANT: When updating this please note that stdlib archive/tar pkg is vendored
    43  ENV GO_VERSION 1.9.4
    44  RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \
    45  	| tar -xzC /usr/local
    46  ENV PATH /go/bin:/usr/local/go/bin:$PATH
    47  ENV GOPATH /go
    48  ENV CGO_LDFLAGS -L/lib
    49  
    50  # Install runc, containerd, tini and docker-proxy
    51  # Please edit hack/dockerfile/install-binaries.sh to update them.
    52  COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
    53  COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
    54  RUN /tmp/install-binaries.sh runc containerd tini proxy dockercli
    55  ENV PATH=/usr/local/cli:$PATH
    56  
    57  ENV AUTO_GOPATH 1
    58  WORKDIR /usr/src/docker
    59  COPY . /usr/src/docker