github.com/rish1988/moby@v25.0.2+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  ARG GO_VERSION=1.21.6
     9  
    10  ARG BASE_DEBIAN_DISTRO="bookworm"
    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  # Compile and runtime deps
    18  # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
    19  # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
    20  RUN apt-get update && apt-get install -y --no-install-recommends \
    21  		build-essential \
    22  		curl \
    23  		cmake \
    24  		git \
    25  		libapparmor-dev \
    26  		libseccomp-dev \
    27  		ca-certificates \
    28  		e2fsprogs \
    29  		iptables \
    30  		pkg-config \
    31  		pigz \
    32  		procps \
    33  		xfsprogs \
    34  		xz-utils \
    35  		\
    36  		vim-common \
    37  	&& rm -rf /var/lib/apt/lists/*
    38  
    39  # Install runc, containerd, tini and docker-proxy
    40  # Please edit hack/dockerfile/install/<name>.installer to update them.
    41  COPY hack/dockerfile/install hack/dockerfile/install
    42  RUN for i in runc containerd tini proxy dockercli; \
    43  		do hack/dockerfile/install/install.sh $i; \
    44  	done
    45  ENV PATH=/usr/local/cli:$PATH
    46  
    47  ENV AUTO_GOPATH 1
    48  WORKDIR /usr/src/docker
    49  COPY . /usr/src/docker