Dockerfile: use spaces for indentation
Indenting with tabs can cause the formatting to go wonky, because the first line of any command is "indented" with spaces, but following lines are not, therefore they can be mis-aligned with the first line. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
f5eb39f75a
commit
a42b4144bc
1 changed files with 125 additions and 125 deletions
250
Dockerfile
250
Dockerfile
|
@ -15,24 +15,24 @@ FROM base AS criu
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
# Install dependency packages specific to criu
|
# Install dependency packages specific to criu
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-criu-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-criu-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-criu-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-criu-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
libnet-dev \
|
libnet-dev \
|
||||||
libprotobuf-c-dev \
|
libprotobuf-c-dev \
|
||||||
libprotobuf-dev \
|
libprotobuf-dev \
|
||||||
libnl-3-dev \
|
libnl-3-dev \
|
||||||
libcap-dev \
|
libcap-dev \
|
||||||
protobuf-compiler \
|
protobuf-compiler \
|
||||||
protobuf-c-compiler \
|
protobuf-c-compiler \
|
||||||
python-protobuf
|
python-protobuf
|
||||||
|
|
||||||
# Install CRIU for checkpoint/restore support
|
# Install CRIU for checkpoint/restore support
|
||||||
ENV CRIU_VERSION 3.12
|
ENV CRIU_VERSION 3.12
|
||||||
RUN mkdir -p /usr/src/criu \
|
RUN mkdir -p /usr/src/criu \
|
||||||
&& curl -sSL https://github.com/checkpoint-restore/criu/archive/v${CRIU_VERSION}.tar.gz | tar -C /usr/src/criu/ -xz --strip-components=1 \
|
&& curl -sSL https://github.com/checkpoint-restore/criu/archive/v${CRIU_VERSION}.tar.gz | tar -C /usr/src/criu/ -xz --strip-components=1 \
|
||||||
&& cd /usr/src/criu \
|
&& cd /usr/src/criu \
|
||||||
&& make \
|
&& make \
|
||||||
&& make PREFIX=/build/ install-criu
|
&& make PREFIX=/build/ install-criu
|
||||||
|
|
||||||
FROM base AS registry
|
FROM base AS registry
|
||||||
# Install two versions of the registry. The first is an older version that
|
# Install two versions of the registry. The first is an older version that
|
||||||
|
@ -42,21 +42,21 @@ FROM base AS registry
|
||||||
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
|
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
|
||||||
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
|
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
set -x \
|
set -x \
|
||||||
&& export GOPATH="$(mktemp -d)" \
|
&& export GOPATH="$(mktemp -d)" \
|
||||||
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
|
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
|
||||||
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
|
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
|
||||||
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
|
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
|
||||||
go build -buildmode=pie -o /build/registry-v2 github.com/docker/distribution/cmd/registry \
|
go build -buildmode=pie -o /build/registry-v2 github.com/docker/distribution/cmd/registry \
|
||||||
&& case $(dpkg --print-architecture) in \
|
&& case $(dpkg --print-architecture) in \
|
||||||
amd64|ppc64*|s390x) \
|
amd64|ppc64*|s390x) \
|
||||||
(cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1"); \
|
(cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1"); \
|
||||||
GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH"; \
|
GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH"; \
|
||||||
go build -buildmode=pie -o /build/registry-v2-schema1 github.com/docker/distribution/cmd/registry; \
|
go build -buildmode=pie -o /build/registry-v2-schema1 github.com/docker/distribution/cmd/registry; \
|
||||||
;; \
|
;; \
|
||||||
esac \
|
esac \
|
||||||
&& rm -rf "$GOPATH"
|
&& rm -rf "$GOPATH"
|
||||||
|
|
||||||
FROM base AS swagger
|
FROM base AS swagger
|
||||||
# Install go-swagger for validating swagger.yaml
|
# Install go-swagger for validating swagger.yaml
|
||||||
|
@ -64,29 +64,29 @@ FROM base AS swagger
|
||||||
# TODO: move to under moby/ or fix upstream go-swagger to work for us.
|
# TODO: move to under moby/ or fix upstream go-swagger to work for us.
|
||||||
ENV GO_SWAGGER_COMMIT 5793aa66d4b4112c2602c716516e24710e4adbb5
|
ENV GO_SWAGGER_COMMIT 5793aa66d4b4112c2602c716516e24710e4adbb5
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
set -x \
|
set -x \
|
||||||
&& export GOPATH="$(mktemp -d)" \
|
&& export GOPATH="$(mktemp -d)" \
|
||||||
&& git clone https://github.com/kolyshkin/go-swagger.git "$GOPATH/src/github.com/go-swagger/go-swagger" \
|
&& git clone https://github.com/kolyshkin/go-swagger.git "$GOPATH/src/github.com/go-swagger/go-swagger" \
|
||||||
&& (cd "$GOPATH/src/github.com/go-swagger/go-swagger" && git checkout -q "$GO_SWAGGER_COMMIT") \
|
&& (cd "$GOPATH/src/github.com/go-swagger/go-swagger" && git checkout -q "$GO_SWAGGER_COMMIT") \
|
||||||
&& go build -o /build/swagger github.com/go-swagger/go-swagger/cmd/swagger \
|
&& go build -o /build/swagger github.com/go-swagger/go-swagger/cmd/swagger \
|
||||||
&& rm -rf "$GOPATH"
|
&& rm -rf "$GOPATH"
|
||||||
|
|
||||||
FROM base AS frozen-images
|
FROM base AS frozen-images
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-frozen-images-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-frozen-images-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-frozen-images-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-frozen-images-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
jq
|
jq
|
||||||
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
|
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
|
||||||
COPY contrib/download-frozen-image-v2.sh /
|
COPY contrib/download-frozen-image-v2.sh /
|
||||||
RUN /download-frozen-image-v2.sh /build \
|
RUN /download-frozen-image-v2.sh /build \
|
||||||
buildpack-deps:jessie@sha256:dd86dced7c9cd2a724e779730f0a53f93b7ef42228d4344b25ce9a42a1486251 \
|
buildpack-deps:jessie@sha256:dd86dced7c9cd2a724e779730f0a53f93b7ef42228d4344b25ce9a42a1486251 \
|
||||||
busybox:latest@sha256:bbc3a03235220b170ba48a157dd097dd1379299370e1ed99ce976df0355d24f0 \
|
busybox:latest@sha256:bbc3a03235220b170ba48a157dd097dd1379299370e1ed99ce976df0355d24f0 \
|
||||||
busybox:glibc@sha256:0b55a30394294ab23b9afd58fab94e61a923f5834fba7ddbae7f8e0c11ba85e6 \
|
busybox:glibc@sha256:0b55a30394294ab23b9afd58fab94e61a923f5834fba7ddbae7f8e0c11ba85e6 \
|
||||||
debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \
|
debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
|
||||||
FROM base AS cross-false
|
FROM base AS cross-false
|
||||||
|
@ -97,21 +97,21 @@ RUN dpkg --add-architecture armhf
|
||||||
RUN dpkg --add-architecture arm64
|
RUN dpkg --add-architecture arm64
|
||||||
RUN dpkg --add-architecture armel
|
RUN dpkg --add-architecture armel
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-cross-true-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-cross-true-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
crossbuild-essential-armhf \
|
crossbuild-essential-armhf \
|
||||||
crossbuild-essential-arm64 \
|
crossbuild-essential-arm64 \
|
||||||
crossbuild-essential-armel
|
crossbuild-essential-armel
|
||||||
|
|
||||||
FROM cross-${CROSS} as dev-base
|
FROM cross-${CROSS} as dev-base
|
||||||
|
|
||||||
FROM dev-base AS runtime-dev-cross-false
|
FROM dev-base AS runtime-dev-cross-false
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-cross-false-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-cross-false-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-cross-false-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-cross-false-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
libapparmor-dev \
|
libapparmor-dev \
|
||||||
libseccomp-dev
|
libseccomp-dev
|
||||||
|
|
||||||
FROM --platform=linux/amd64 cross-true AS runtime-dev-cross-true
|
FROM --platform=linux/amd64 cross-true AS runtime-dev-cross-true
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
|
@ -120,18 +120,18 @@ ARG DEBIAN_FRONTEND
|
||||||
# Additionally, the crossbuild-amd64 is currently only on debian:buster, so
|
# Additionally, the crossbuild-amd64 is currently only on debian:buster, so
|
||||||
# other architectures cannnot crossbuild amd64.
|
# other architectures cannnot crossbuild amd64.
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-cross-true-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-cross-true-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
libseccomp-dev:armhf \
|
libseccomp-dev:armhf \
|
||||||
libseccomp-dev:arm64 \
|
libseccomp-dev:arm64 \
|
||||||
libseccomp-dev:armel \
|
libseccomp-dev:armel \
|
||||||
libapparmor-dev:armhf \
|
libapparmor-dev:armhf \
|
||||||
libapparmor-dev:arm64 \
|
libapparmor-dev:arm64 \
|
||||||
libapparmor-dev:armel \
|
libapparmor-dev:armel \
|
||||||
# install this arches seccomp here due to compat issues with the v0 builder
|
# install this arches seccomp here due to compat issues with the v0 builder
|
||||||
# This is as opposed to inheriting from runtime-dev-cross-false
|
# This is as opposed to inheriting from runtime-dev-cross-false
|
||||||
libapparmor-dev \
|
libapparmor-dev \
|
||||||
libseccomp-dev
|
libseccomp-dev
|
||||||
|
|
||||||
|
|
||||||
FROM runtime-dev-cross-${CROSS} AS runtime-dev
|
FROM runtime-dev-cross-${CROSS} AS runtime-dev
|
||||||
|
@ -142,8 +142,8 @@ ARG TOMLV_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM base AS vndr
|
FROM base AS vndr
|
||||||
ENV INSTALL_BINARY_NAME=vndr
|
ENV INSTALL_BINARY_NAME=vndr
|
||||||
|
@ -151,22 +151,22 @@ ARG VNDR_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM dev-base AS containerd
|
FROM dev-base AS containerd
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
ARG CONTAINERD_COMMIT
|
ARG CONTAINERD_COMMIT
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-containerd-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-containerd-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-containerd-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-containerd-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
btrfs-tools
|
btrfs-tools
|
||||||
ENV INSTALL_BINARY_NAME=containerd
|
ENV INSTALL_BINARY_NAME=containerd
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM dev-base AS proxy
|
FROM dev-base AS proxy
|
||||||
ENV INSTALL_BINARY_NAME=proxy
|
ENV INSTALL_BINARY_NAME=proxy
|
||||||
|
@ -174,8 +174,8 @@ ARG LIBNETWORK_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM base AS golangci_lint
|
FROM base AS golangci_lint
|
||||||
ENV INSTALL_BINARY_NAME=golangci_lint
|
ENV INSTALL_BINARY_NAME=golangci_lint
|
||||||
|
@ -183,8 +183,8 @@ ARG GOLANGCI_LINT_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM base AS gotestsum
|
FROM base AS gotestsum
|
||||||
ENV INSTALL_BINARY_NAME=gotestsum
|
ENV INSTALL_BINARY_NAME=gotestsum
|
||||||
|
@ -192,8 +192,8 @@ ARG GOTESTSUM_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM dev-base AS dockercli
|
FROM dev-base AS dockercli
|
||||||
ENV INSTALL_BINARY_NAME=dockercli
|
ENV INSTALL_BINARY_NAME=dockercli
|
||||||
|
@ -202,8 +202,8 @@ ARG DOCKERCLI_VERSION
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM runtime-dev AS runc
|
FROM runtime-dev AS runc
|
||||||
ENV INSTALL_BINARY_NAME=runc
|
ENV INSTALL_BINARY_NAME=runc
|
||||||
|
@ -212,23 +212,23 @@ ARG RUNC_BUILDTAGS
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM dev-base AS tini
|
FROM dev-base AS tini
|
||||||
ARG DEBIAN_FRONTEND
|
ARG DEBIAN_FRONTEND
|
||||||
ARG TINI_COMMIT
|
ARG TINI_COMMIT
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-tini-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-tini-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
cmake \
|
cmake \
|
||||||
vim-common
|
vim-common
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
ENV INSTALL_BINARY_NAME=tini
|
ENV INSTALL_BINARY_NAME=tini
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
|
||||||
|
|
||||||
FROM dev-base AS rootlesskit
|
FROM dev-base AS rootlesskit
|
||||||
ENV INSTALL_BINARY_NAME=rootlesskit
|
ENV INSTALL_BINARY_NAME=rootlesskit
|
||||||
|
@ -236,8 +236,8 @@ ARG ROOTLESSKIT_COMMIT
|
||||||
COPY hack/dockerfile/install/install.sh ./install.sh
|
COPY hack/dockerfile/install/install.sh ./install.sh
|
||||||
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
--mount=type=cache,target=/go/pkg/mod \
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME
|
PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME
|
||||||
COPY ./contrib/dockerd-rootless.sh /build
|
COPY ./contrib/dockerd-rootless.sh /build
|
||||||
|
|
||||||
# TODO: Some of this is only really needed for testing, it would be nice to split this up
|
# TODO: Some of this is only really needed for testing, it would be nice to split this up
|
||||||
|
@ -254,35 +254,35 @@ RUN ldconfig
|
||||||
# This should only install packages that are specifically needed for the dev environment and nothing else
|
# This should only install packages that are specifically needed for the dev environment and nothing else
|
||||||
# Do you really need to add another package here? Can it be done in a different build stage?
|
# Do you really need to add another package here? Can it be done in a different build stage?
|
||||||
RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
||||||
--mount=type=cache,sharing=locked,id=moby-dev-aptcache,target=/var/cache/apt \
|
--mount=type=cache,sharing=locked,id=moby-dev-aptcache,target=/var/cache/apt \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
apparmor \
|
apparmor \
|
||||||
aufs-tools \
|
aufs-tools \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
btrfs-tools \
|
btrfs-tools \
|
||||||
iptables \
|
iptables \
|
||||||
jq \
|
jq \
|
||||||
libcap2-bin \
|
libcap2-bin \
|
||||||
libdevmapper-dev \
|
libdevmapper-dev \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
libsystemd-dev \
|
libsystemd-dev \
|
||||||
binutils-mingw-w64 \
|
binutils-mingw-w64 \
|
||||||
g++-mingw-w64-x86-64 \
|
g++-mingw-w64-x86-64 \
|
||||||
net-tools \
|
net-tools \
|
||||||
pigz \
|
pigz \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3-setuptools \
|
python3-setuptools \
|
||||||
python3-wheel \
|
python3-wheel \
|
||||||
thin-provisioning-tools \
|
thin-provisioning-tools \
|
||||||
vim \
|
vim \
|
||||||
vim-common \
|
vim-common \
|
||||||
xfsprogs \
|
xfsprogs \
|
||||||
zip \
|
zip \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
libprotobuf-c1 \
|
libprotobuf-c1 \
|
||||||
libnet1 \
|
libnet1 \
|
||||||
libnl-3-200
|
libnl-3-200
|
||||||
|
|
||||||
|
|
||||||
RUN pip3 install yamllint==1.16.0
|
RUN pip3 install yamllint==1.16.0
|
||||||
|
@ -316,18 +316,18 @@ COPY . /go/src/github.com/docker/docker
|
||||||
FROM src AS build-binary
|
FROM src AS build-binary
|
||||||
ARG DOCKER_GITCOMMIT=HEAD
|
ARG DOCKER_GITCOMMIT=HEAD
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
hack/make.sh binary
|
hack/make.sh binary
|
||||||
|
|
||||||
FROM src AS build-dynbinary
|
FROM src AS build-dynbinary
|
||||||
ARG DOCKER_GITCOMMIT=HEAD
|
ARG DOCKER_GITCOMMIT=HEAD
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
hack/make.sh dynbinary
|
hack/make.sh dynbinary
|
||||||
|
|
||||||
FROM src AS build-cross
|
FROM src AS build-cross
|
||||||
ARG DOCKER_GITCOMMIT=HEAD
|
ARG DOCKER_GITCOMMIT=HEAD
|
||||||
ARG DOCKER_CROSSPLATFORMS=""
|
ARG DOCKER_CROSSPLATFORMS=""
|
||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
hack/make.sh cross
|
hack/make.sh cross
|
||||||
|
|
||||||
FROM scratch AS binary
|
FROM scratch AS binary
|
||||||
COPY --from=build-binary /go/src/github.com/docker/docker/bundles/ /
|
COPY --from=build-binary /go/src/github.com/docker/docker/bundles/ /
|
||||||
|
|
Loading…
Reference in a new issue