dotcloud/docker

View on GitHub
Dockerfile.simple

Summary

Maintainability
Test Coverage
# docker build -t docker:simple -f Dockerfile.simple .
# docker run --rm docker:simple hack/make.sh dynbinary
# docker run --rm --privileged docker:simple hack/dind hack/make.sh test-unit
# docker run --rm --privileged -v /var/lib/docker docker:simple hack/dind hack/make.sh dynbinary test-integration

# This represents the bare minimum required to build and test Docker.

ARG GO_VERSION=1.22.6

ARG BASE_DEBIAN_DISTRO="bookworm"
ARG GOLANG_IMAGE="golang:${GO_VERSION}-${BASE_DEBIAN_DISTRO}"

FROM ${GOLANG_IMAGE}
ENV GO111MODULE=off
ENV GOTOOLCHAIN=local

# Compile and runtime deps
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        cmake \
        git \
        libapparmor-dev \
        libseccomp-dev \
        ca-certificates \
        e2fsprogs \
        iptables \
        pkg-config \
        pigz \
        procps \
        xfsprogs \
        xz-utils \
        \
        vim-common \
    && rm -rf /var/lib/apt/lists/*

# Install runc, containerd, tini and docker-proxy
# Please edit hack/dockerfile/install/<name>.installer to update them.
COPY hack/dockerfile/install hack/dockerfile/install
RUN for i in runc containerd tini proxy dockercli; \
        do hack/dockerfile/install/install.sh $i; \
    done
ENV PATH=/usr/local/cli:$PATH

ENV AUTO_GOPATH 1
WORKDIR /usr/src/docker
COPY . /usr/src/docker