github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/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  ARG GO_VERSION=1.21.3
     9  
    10  ARG BASE_DEBIAN_DISTRO="bullseye"
    11  ARG GOLANG_IMAGE="golang:${GO_VERSION}-${BASE_DEBIAN_DISTRO}"
    12  
    13  FROM ${GOLANG_IMAGE}
    14  ENV GO111MODULE=off
    15  ENV GOTOOLCHAIN=local
    16  
    17  # allow replacing debian mirror
    18  ARG APT_MIRROR
    19  RUN test -n "$APT_MIRROR" && sed -ri "s#(httpredir|deb|security).debian.org#${APT_MIRROR}#g" /etc/apt/sources.list || true
    20  
    21  # Compile and runtime deps
    22  # https://github.com/Prakhar-Agarwal-byte/moby/blob/master/project/PACKAGERS.md#build-dependencies
    23  # https://github.com/Prakhar-Agarwal-byte/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
    24  RUN apt-get update && apt-get install -y --no-install-recommends \
    25  		build-essential \
    26  		curl \
    27  		cmake \
    28  		git \
    29  		libapparmor-dev \
    30  		libseccomp-dev \
    31  		ca-certificates \
    32  		e2fsprogs \
    33  		iptables \
    34  		pkg-config \
    35  		pigz \
    36  		procps \
    37  		xfsprogs \
    38  		xz-utils \
    39  		\
    40  		vim-common \
    41  	&& rm -rf /var/lib/apt/lists/*
    42  
    43  # Install runc, containerd, tini and docker-proxy
    44  # Please edit hack/dockerfile/install/<name>.installer to update them.
    45  COPY hack/dockerfile/install hack/dockerfile/install
    46  RUN for i in runc containerd tini proxy dockercli; \
    47  		do hack/dockerfile/install/install.sh $i; \
    48  	done
    49  ENV PATH=/usr/local/cli:$PATH
    50  
    51  ENV AUTO_GOPATH 1
    52  WORKDIR /usr/src/docker
    53  COPY . /usr/src/docker