From a42b4144bce728590d7c01aa2401589e71850518 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sat, 5 Oct 2019 22:41:27 +0200 Subject: [PATCH] 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 --- Dockerfile | 250 ++++++++++++++++++++++++++--------------------------- 1 file changed, 125 insertions(+), 125 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9aad9c145b..46d5f53b0f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,24 +15,24 @@ FROM base AS criu ARG DEBIAN_FRONTEND # Install dependency packages specific to criu 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - libnet-dev \ - libprotobuf-c-dev \ - libprotobuf-dev \ - libnl-3-dev \ - libcap-dev \ - protobuf-compiler \ - protobuf-c-compiler \ - python-protobuf + --mount=type=cache,sharing=locked,id=moby-criu-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + libnet-dev \ + libprotobuf-c-dev \ + libprotobuf-dev \ + libnl-3-dev \ + libcap-dev \ + protobuf-compiler \ + protobuf-c-compiler \ + python-protobuf # Install CRIU for checkpoint/restore support ENV CRIU_VERSION 3.12 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 \ - && cd /usr/src/criu \ - && make \ - && make PREFIX=/build/ install-criu + && 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 \ + && make \ + && make PREFIX=/build/ install-criu FROM base AS registry # 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 47a064d4195a9b56133891bbb13620c3ac83a827 RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - set -x \ - && export GOPATH="$(mktemp -d)" \ - && 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") \ - && GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \ - go build -buildmode=pie -o /build/registry-v2 github.com/docker/distribution/cmd/registry \ - && case $(dpkg --print-architecture) in \ - amd64|ppc64*|s390x) \ - (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1"); \ - 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; \ - ;; \ - esac \ - && rm -rf "$GOPATH" + --mount=type=cache,target=/go/pkg/mod \ + set -x \ + && export GOPATH="$(mktemp -d)" \ + && 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") \ + && GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \ + go build -buildmode=pie -o /build/registry-v2 github.com/docker/distribution/cmd/registry \ + && case $(dpkg --print-architecture) in \ + amd64|ppc64*|s390x) \ + (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1"); \ + 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; \ + ;; \ + esac \ + && rm -rf "$GOPATH" FROM base AS swagger # 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. ENV GO_SWAGGER_COMMIT 5793aa66d4b4112c2602c716516e24710e4adbb5 RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - set -x \ - && export GOPATH="$(mktemp -d)" \ - && 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") \ - && go build -o /build/swagger github.com/go-swagger/go-swagger/cmd/swagger \ - && rm -rf "$GOPATH" + --mount=type=cache,target=/go/pkg/mod \ + set -x \ + && export GOPATH="$(mktemp -d)" \ + && 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") \ + && go build -o /build/swagger github.com/go-swagger/go-swagger/cmd/swagger \ + && rm -rf "$GOPATH" FROM base AS frozen-images ARG DEBIAN_FRONTEND 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates \ - jq + --mount=type=cache,sharing=locked,id=moby-frozen-images-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + jq # Get useful and necessary Hub images so we can "docker load" locally instead of pulling COPY contrib/download-frozen-image-v2.sh / RUN /download-frozen-image-v2.sh /build \ - buildpack-deps:jessie@sha256:dd86dced7c9cd2a724e779730f0a53f93b7ef42228d4344b25ce9a42a1486251 \ - busybox:latest@sha256:bbc3a03235220b170ba48a157dd097dd1379299370e1ed99ce976df0355d24f0 \ - busybox:glibc@sha256:0b55a30394294ab23b9afd58fab94e61a923f5834fba7ddbae7f8e0c11ba85e6 \ - debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \ - hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c + buildpack-deps:jessie@sha256:dd86dced7c9cd2a724e779730f0a53f93b7ef42228d4344b25ce9a42a1486251 \ + busybox:latest@sha256:bbc3a03235220b170ba48a157dd097dd1379299370e1ed99ce976df0355d24f0 \ + busybox:glibc@sha256:0b55a30394294ab23b9afd58fab94e61a923f5834fba7ddbae7f8e0c11ba85e6 \ + debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \ + 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) FROM base AS cross-false @@ -97,21 +97,21 @@ RUN dpkg --add-architecture armhf RUN dpkg --add-architecture arm64 RUN dpkg --add-architecture armel 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - crossbuild-essential-armhf \ - crossbuild-essential-arm64 \ - crossbuild-essential-armel + --mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + crossbuild-essential-armhf \ + crossbuild-essential-arm64 \ + crossbuild-essential-armel FROM cross-${CROSS} as dev-base FROM dev-base AS runtime-dev-cross-false ARG DEBIAN_FRONTEND 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - libapparmor-dev \ - libseccomp-dev + --mount=type=cache,sharing=locked,id=moby-cross-false-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + libapparmor-dev \ + libseccomp-dev FROM --platform=linux/amd64 cross-true AS runtime-dev-cross-true ARG DEBIAN_FRONTEND @@ -120,18 +120,18 @@ ARG DEBIAN_FRONTEND # Additionally, the crossbuild-amd64 is currently only on debian:buster, so # other architectures cannnot crossbuild amd64. 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - libseccomp-dev:armhf \ - libseccomp-dev:arm64 \ - libseccomp-dev:armel \ - libapparmor-dev:armhf \ - libapparmor-dev:arm64 \ - libapparmor-dev:armel \ - # install this arches seccomp here due to compat issues with the v0 builder - # This is as opposed to inheriting from runtime-dev-cross-false - libapparmor-dev \ - libseccomp-dev + --mount=type=cache,sharing=locked,id=moby-cross-true-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + libseccomp-dev:armhf \ + libseccomp-dev:arm64 \ + libseccomp-dev:armel \ + libapparmor-dev:armhf \ + libapparmor-dev:arm64 \ + libapparmor-dev:armel \ + # install this arches seccomp here due to compat issues with the v0 builder + # This is as opposed to inheriting from runtime-dev-cross-false + libapparmor-dev \ + libseccomp-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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM dev-base AS containerd ARG DEBIAN_FRONTEND ARG CONTAINERD_COMMIT 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - btrfs-tools + --mount=type=cache,sharing=locked,id=moby-containerd-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + btrfs-tools ENV INSTALL_BINARY_NAME=containerd COPY hack/dockerfile/install/install.sh ./install.sh COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM dev-base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM dev-base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM runtime-dev AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM dev-base AS tini ARG DEBIAN_FRONTEND ARG TINI_COMMIT 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 \ - apt-get update && apt-get install -y --no-install-recommends \ - cmake \ - vim-common + --mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + cmake \ + vim-common COPY hack/dockerfile/install/install.sh ./install.sh ENV INSTALL_BINARY_NAME=tini COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build ./install.sh $INSTALL_BINARY_NAME FROM dev-base AS 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_BINARY_NAME.installer ./ RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg/mod \ - PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME + --mount=type=cache,target=/go/pkg/mod \ + PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME COPY ./contrib/dockerd-rootless.sh /build # 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 # 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 \ - --mount=type=cache,sharing=locked,id=moby-dev-aptcache,target=/var/cache/apt \ - apt-get update && apt-get install -y --no-install-recommends \ - apparmor \ - aufs-tools \ - bash-completion \ - btrfs-tools \ - iptables \ - jq \ - libcap2-bin \ - libdevmapper-dev \ - libudev-dev \ - libsystemd-dev \ - binutils-mingw-w64 \ - g++-mingw-w64-x86-64 \ - net-tools \ - pigz \ - python3-pip \ - python3-setuptools \ - python3-wheel \ - thin-provisioning-tools \ - vim \ - vim-common \ - xfsprogs \ - zip \ - bzip2 \ - xz-utils \ - libprotobuf-c1 \ - libnet1 \ - libnl-3-200 + --mount=type=cache,sharing=locked,id=moby-dev-aptcache,target=/var/cache/apt \ + apt-get update && apt-get install -y --no-install-recommends \ + apparmor \ + aufs-tools \ + bash-completion \ + btrfs-tools \ + iptables \ + jq \ + libcap2-bin \ + libdevmapper-dev \ + libudev-dev \ + libsystemd-dev \ + binutils-mingw-w64 \ + g++-mingw-w64-x86-64 \ + net-tools \ + pigz \ + python3-pip \ + python3-setuptools \ + python3-wheel \ + thin-provisioning-tools \ + vim \ + vim-common \ + xfsprogs \ + zip \ + bzip2 \ + xz-utils \ + libprotobuf-c1 \ + libnet1 \ + libnl-3-200 RUN pip3 install yamllint==1.16.0 @@ -316,18 +316,18 @@ COPY . /go/src/github.com/docker/docker FROM src AS build-binary ARG DOCKER_GITCOMMIT=HEAD RUN --mount=type=cache,target=/root/.cache/go-build \ - hack/make.sh binary + hack/make.sh binary FROM src AS build-dynbinary ARG DOCKER_GITCOMMIT=HEAD RUN --mount=type=cache,target=/root/.cache/go-build \ - hack/make.sh dynbinary + hack/make.sh dynbinary FROM src AS build-cross ARG DOCKER_GITCOMMIT=HEAD ARG DOCKER_CROSSPLATFORMS="" RUN --mount=type=cache,target=/root/.cache/go-build \ - hack/make.sh cross + hack/make.sh cross FROM scratch AS binary COPY --from=build-binary /go/src/github.com/docker/docker/bundles/ /