Dockerfile.simple 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. # This represents the bare minimum required to build and test Docker.
  6. ARG GO_VERSION=1.21.5
  7. ARG BASE_DEBIAN_DISTRO="bookworm"
  8. ARG GOLANG_IMAGE="golang:${GO_VERSION}-${BASE_DEBIAN_DISTRO}"
  9. FROM ${GOLANG_IMAGE}
  10. ENV GO111MODULE=off
  11. ENV GOTOOLCHAIN=local
  12. # Compile and runtime deps
  13. # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
  14. # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
  15. RUN apt-get update && apt-get install -y --no-install-recommends \
  16. build-essential \
  17. curl \
  18. cmake \
  19. git \
  20. libapparmor-dev \
  21. libseccomp-dev \
  22. ca-certificates \
  23. e2fsprogs \
  24. iptables \
  25. pkg-config \
  26. pigz \
  27. procps \
  28. xfsprogs \
  29. xz-utils \
  30. \
  31. vim-common \
  32. && rm -rf /var/lib/apt/lists/*
  33. # Install runc, containerd, tini and docker-proxy
  34. # Please edit hack/dockerfile/install/<name>.installer to update them.
  35. COPY hack/dockerfile/install hack/dockerfile/install
  36. RUN for i in runc containerd tini proxy dockercli; \
  37. do hack/dockerfile/install/install.sh $i; \
  38. done
  39. ENV PATH=/usr/local/cli:$PATH
  40. ENV AUTO_GOPATH 1
  41. WORKDIR /usr/src/docker
  42. COPY . /usr/src/docker