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