Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docker #12887

Merged
merged 1 commit into from
Aug 2, 2022
Merged

Update docker #12887

merged 1 commit into from
Aug 2, 2022

Conversation

tianon
Copy link
Member

@tianon tianon commented Aug 1, 2022

Changes:

Changes:

- docker-library/docker@fd40393: Update 22.06-rc to compose 2.9.0
- docker-library/docker@8ddb44b: Update 20.10 to compose 2.9.0
- docker-library/docker@274f65c: Update 22.06-rc to compose 2.8.0
- docker-library/docker@fb39a14: Update 20.10 to compose 2.8.0
- docker-library/docker@5855597: Merge pull request docker-library/docker#369 from infosiftr/cli
- docker-library/docker@1f37025: Only include the CLI in the CLI variants (finally, as was intended all along)
- docker-library/docker@f23a2be: Add explicit "cli" aliases and move "latest" to "dind" in 22.06+
@github-actions
Copy link

github-actions bot commented Aug 1, 2022

Diff for 0b50f32:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 0128a40..ba47557 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1,24 +1,24 @@
 Maintainers: Tianon Gravi <[email protected]> (@tianon), Joseph Ferguson <[email protected]> (@yosifkit)
 GitRepo: https://github.com/docker-library/docker.git
 
-Tags: 20.10.17, 20.10, 20, latest, 20.10.17-alpine3.16
+Tags: 20.10.17-cli, 20.10-cli, 20-cli, cli, 20.10.17-cli-alpine3.16, 20.10.17, 20.10, 20, latest, 20.10.17-alpine3.16
 Architectures: amd64, arm64v8
-GitCommit: a9aa984f3033753674b96b9f614f69b4650ddfa9
-Directory: 20.10
+GitCommit: 8ddb44b5fbeb13cc6d0b810976460f50538fdafb
+Directory: 20.10/cli
 
 Tags: 20.10.17-dind, 20.10-dind, 20-dind, dind, 20.10.17-dind-alpine3.16
 Architectures: amd64, arm64v8
-GitCommit: 0efba9e3cd4537de89ba54de2ad8acc5e3b1759f
+GitCommit: 1f37025ef2b9b70706d8e11cc3552830e4524758
 Directory: 20.10/dind
 
 Tags: 20.10.17-dind-rootless, 20.10-dind-rootless, 20-dind-rootless, dind-rootless
 Architectures: amd64, arm64v8
-GitCommit: b4ebf24fc840e7f223c9e7ab361a02fa2ffd2e3e
+GitCommit: 1f37025ef2b9b70706d8e11cc3552830e4524758
 Directory: 20.10/dind-rootless
 
 Tags: 20.10.17-git, 20.10-git, 20-git, git
 Architectures: amd64, arm64v8
-GitCommit: 387e351394bfad74bceebf8303c6c8e39c3d4ed4
+GitCommit: f23a2bea97f6d7ec563bc316302fb8edf620ec5b
 Directory: 20.10/git
 
 Tags: 20.10.17-windowsservercore-1809, 20.10-windowsservercore-1809, 20-windowsservercore-1809, windowsservercore-1809
@@ -35,24 +35,24 @@ GitCommit: 034e1d03eaf2c35ce4a21c4a4b621e2d2174b62e
 Directory: 20.10/windows/windowsservercore-ltsc2022
 Constraints: windowsservercore-ltsc2022
 
-Tags: 22.06.0-beta.0, 22.06-rc, rc, 22.06.0-beta.0-alpine3.16
+Tags: 22.06.0-beta.0-cli, 22.06-rc-cli, rc-cli, 22.06.0-beta.0-cli-alpine3.16
 Architectures: amd64, arm64v8
-GitCommit: 5bda34eeb02386173b6e298cb4a983783efc7e8d
-Directory: 22.06-rc
+GitCommit: fd4039323bbf96d9cf7b8f18a38c3b9b9a9e2189
+Directory: 22.06-rc/cli
 
-Tags: 22.06.0-beta.0-dind, 22.06-rc-dind, rc-dind, 22.06.0-beta.0-dind-alpine3.16
+Tags: 22.06.0-beta.0-dind, 22.06-rc-dind, rc-dind, 22.06.0-beta.0-dind-alpine3.16, 22.06.0-beta.0, 22.06-rc, rc, 22.06.0-beta.0-alpine3.16
 Architectures: amd64, arm64v8
-GitCommit: 4c1b73e7046422ca1339b76935c2e2f4251b9c20
+GitCommit: 1f37025ef2b9b70706d8e11cc3552830e4524758
 Directory: 22.06-rc/dind
 
 Tags: 22.06.0-beta.0-dind-rootless, 22.06-rc-dind-rootless, rc-dind-rootless
 Architectures: amd64, arm64v8
-GitCommit: b4ebf24fc840e7f223c9e7ab361a02fa2ffd2e3e
+GitCommit: 1f37025ef2b9b70706d8e11cc3552830e4524758
 Directory: 22.06-rc/dind-rootless
 
 Tags: 22.06.0-beta.0-git, 22.06-rc-git, rc-git
 Architectures: amd64, arm64v8
-GitCommit: 4c1b73e7046422ca1339b76935c2e2f4251b9c20
+GitCommit: f23a2bea97f6d7ec563bc316302fb8edf620ec5b
 Directory: 22.06-rc/git
 
 Tags: 22.06.0-beta.0-windowsservercore-1809, 22.06-rc-windowsservercore-1809, rc-windowsservercore-1809
diff --git a/_bashbrew-list b/_bashbrew-list
index 6cc9335..4831913 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,4 +1,5 @@
 docker:20
+docker:20-cli
 docker:20-dind
 docker:20-dind-rootless
 docker:20-git
@@ -6,6 +7,7 @@ docker:20-windowsservercore
 docker:20-windowsservercore-1809
 docker:20-windowsservercore-ltsc2022
 docker:20.10
+docker:20.10-cli
 docker:20.10-dind
 docker:20.10-dind-rootless
 docker:20.10-git
@@ -14,6 +16,8 @@ docker:20.10-windowsservercore-1809
 docker:20.10-windowsservercore-ltsc2022
 docker:20.10.17
 docker:20.10.17-alpine3.16
+docker:20.10.17-cli
+docker:20.10.17-cli-alpine3.16
 docker:20.10.17-dind
 docker:20.10.17-dind-alpine3.16
 docker:20.10.17-dind-rootless
@@ -22,6 +26,7 @@ docker:20.10.17-windowsservercore
 docker:20.10.17-windowsservercore-1809
 docker:20.10.17-windowsservercore-ltsc2022
 docker:22.06-rc
+docker:22.06-rc-cli
 docker:22.06-rc-dind
 docker:22.06-rc-dind-rootless
 docker:22.06-rc-git
@@ -30,6 +35,8 @@ docker:22.06-rc-windowsservercore-1809
 docker:22.06-rc-windowsservercore-ltsc2022
 docker:22.06.0-beta.0
 docker:22.06.0-beta.0-alpine3.16
+docker:22.06.0-beta.0-cli
+docker:22.06.0-beta.0-cli-alpine3.16
 docker:22.06.0-beta.0-dind
 docker:22.06.0-beta.0-dind-alpine3.16
 docker:22.06.0-beta.0-dind-rootless
@@ -37,11 +44,13 @@ docker:22.06.0-beta.0-git
 docker:22.06.0-beta.0-windowsservercore
 docker:22.06.0-beta.0-windowsservercore-1809
 docker:22.06.0-beta.0-windowsservercore-ltsc2022
+docker:cli
 docker:dind
 docker:dind-rootless
 docker:git
 docker:latest
 docker:rc
+docker:rc-cli
 docker:rc-dind
 docker:rc-dind-rootless
 docker:rc-git
diff --git a/docker_20.10.17-alpine3.16/Dockerfile b/docker_20.10.17-alpine3.16/Dockerfile
index cae8226..ad0f2f1 100644
--- a/docker_20.10.17-alpine3.16/Dockerfile
+++ b/docker_20.10.17-alpine3.16/Dockerfile
@@ -20,9 +20,6 @@ RUN apk add --no-cache \
 RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
 
 ENV DOCKER_VERSION 20.10.17
-# TODO ENV DOCKER_SHA256
-# https://github.com/docker/docker-ce/blob/5b073ee2cf564edee5adca05eee574142f7627bb/components/packaging/static/hash_files !!
-# (no SHA file artifacts on download.docker.com yet as of 2017-06-07 though)
 
 RUN set -eux; \
 	\
@@ -40,23 +37,25 @@ RUN set -eux; \
 		'aarch64') \
 			url='https://download.docker.com/linux/static/stable/aarch64/docker-20.10.17.tgz'; \
 			;; \
-		*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; \
+		*) echo >&2 "error: unsupported 'docker.tgz' architecture ($apkArch)"; exit 1 ;; \
 	esac; \
 	\
-	wget -O docker.tgz "$url"; \
+	wget -O 'docker.tgz' "$url"; \
 	\
 	tar --extract \
 		--file docker.tgz \
 		--strip-components 1 \
 		--directory /usr/local/bin/ \
+		--no-same-owner \
+		'docker/docker' \
 	; \
 	rm docker.tgz; \
 	\
-	dockerd --version; \
 	docker --version
 
 ENV DOCKER_BUILDX_VERSION 0.8.2
 RUN set -eux; \
+	\
 	apkArch="$(apk --print-arch)"; \
 	case "$apkArch" in \
 		'x86_64') \
@@ -87,50 +86,59 @@ RUN set -eux; \
 			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-s390x'; \
 			sha256='ec4bb6f271f38dca5a377a70be24ee2108a85f6e6ba511ad3b805c4f1602a0d2'; \
 			;; \
-		*) echo >&2 "warning: unsupported buildx architecture ($apkArch); skipping"; exit 0 ;; \
+		*) echo >&2 "warning: unsupported 'docker-buildx' architecture ($apkArch); skipping"; exit 0 ;; \
 	esac; \
+	\
+	wget -O 'docker-buildx' "$url"; \
+	echo "$sha256 *"'docker-buildx' | sha256sum -c -; \
+	\
 	plugin='/usr/libexec/docker/cli-plugins/docker-buildx'; \
 	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
+	mv -vT 'docker-buildx' "$plugin"; \
 	chmod +x "$plugin"; \
+	\
 	docker buildx version
 
-ENV DOCKER_COMPOSE_VERSION 2.7.0
+ENV DOCKER_COMPOSE_VERSION 2.9.0
 RUN set -eux; \
+	\
 	apkArch="$(apk --print-arch)"; \
 	case "$apkArch" in \
 		'x86_64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64'; \
-			sha256='184df811a70366fa339e99df38fc6ff24fc9e51b3388335efe51c1941377d4ce'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-x86_64'; \
+			sha256='3be9ce88ecba41b734e3fc8e59a9b11531133761414a78827d1615aadb5ef1f5'; \
 			;; \
 		'armhf') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv6'; \
-			sha256='a5fc14755a5de6c0998907a73b1eb115e3e45b80a05d284fecab2825a3722fca'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-armv6'; \
+			sha256='2ea0f36350f81ae66db2b8c12104de6ed974a328557a4967857ee6e8df4b8f26'; \
 			;; \
 		'armv7') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv7'; \
-			sha256='53ed781ff04efa2e93fc6e0c02fc3c7d792083780c747ef06e9e0e46e8bb7eb1'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-armv7'; \
+			sha256='658db542e40c8063cdafc23f650493bedc10b41b6d6fb581b7866bfeb5ffb0ba'; \
 			;; \
 		'aarch64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-aarch64'; \
-			sha256='bcc79aff65b35581246feca30d53261eddcfc79285868061b31f3ff86d102563'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-aarch64'; \
+			sha256='6d227b060b2bc3dc5f315a07ae4f647f042755691e2da905b1a21e60a8ae3ddf'; \
 			;; \
 		'ppc64le') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-ppc64le'; \
-			sha256='a9de33aa3a306ee5a36d2d94e1dd88a5dea1330e774e27d1d7458d44c94d36f9'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-ppc64le'; \
+			sha256='101ea490283f3c862e9bb4e7ef2a3fb38393cf2139f2b78e7a7423c91ad0c1fa'; \
 			;; \
 		's390x') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-s390x'; \
-			sha256='429498246e1d4778669e781a70e659ba59fa8bb3cdee45f8ce8e01a716a12aff'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-s390x'; \
+			sha256='0826c101e1d1a070e8ab8d7649c0da3cb9e6ecf1e717c545188243be6e676d00'; \
 			;; \
-		*) echo >&2 "warning: unsupported compose architecture ($apkArch); skipping"; exit 0 ;; \
+		*) echo >&2 "warning: unsupported 'docker-compose' architecture ($apkArch); skipping"; exit 0 ;; \
 	esac; \
+	\
+	wget -O 'docker-compose' "$url"; \
+	echo "$sha256 *"'docker-compose' | sha256sum -c -; \
+	\
 	plugin='/usr/libexec/docker/cli-plugins/docker-compose'; \
 	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
+	mv -vT 'docker-compose' "$plugin"; \
 	chmod +x "$plugin"; \
+	\
 	ln -sv "$plugin" /usr/local/bin/; \
 	docker-compose --version; \
 	docker compose version
diff --git a/docker_20.10.17-dind-alpine3.16/Dockerfile b/docker_20.10.17-dind-alpine3.16/Dockerfile
index b319a2b..ac2295a 100644
--- a/docker_20.10.17-dind-alpine3.16/Dockerfile
+++ b/docker_20.10.17-dind-alpine3.16/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM docker:20.10
+FROM docker:20.10-cli
 
 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
 RUN set -eux; \
@@ -37,6 +37,42 @@ RUN set -eux; \
 	echo 'dockremap:165536:65536' >> /etc/subuid; \
 	echo 'dockremap:165536:65536' >> /etc/subgid
 
+RUN set -eux; \
+	\
+	apkArch="$(apk --print-arch)"; \
+	case "$apkArch" in \
+		'x86_64') \
+			url='https://download.docker.com/linux/static/stable/x86_64/docker-20.10.17.tgz'; \
+			;; \
+		'armhf') \
+			url='https://download.docker.com/linux/static/stable/armel/docker-20.10.17.tgz'; \
+			;; \
+		'armv7') \
+			url='https://download.docker.com/linux/static/stable/armhf/docker-20.10.17.tgz'; \
+			;; \
+		'aarch64') \
+			url='https://download.docker.com/linux/static/stable/aarch64/docker-20.10.17.tgz'; \
+			;; \
+		*) echo >&2 "error: unsupported 'docker.tgz' architecture ($apkArch)"; exit 1 ;; \
+	esac; \
+	\
+	wget -O 'docker.tgz' "$url"; \
+	\
+	tar --extract \
+		--file docker.tgz \
+		--strip-components 1 \
+		--directory /usr/local/bin/ \
+		--no-same-owner \
+# we exclude the CLI binary because we already extracted that over in the "docker:20.10-cli" image that we're FROM and we don't want to duplicate those bytes again in this layer
+		--exclude 'docker/docker' \
+	; \
+	rm docker.tgz; \
+	\
+	dockerd --version; \
+	containerd --version; \
+	ctr --version; \
+	runc --version
+
 # https://github.com/docker/docker/tree/master/hack/dind
 ENV DIND_COMMIT 42b1175eda071c0e9121e1d64345928384a93df1
 
diff --git a/docker_22.06.0-beta.0-alpine3.16/Dockerfile b/docker_22.06.0-beta.0-alpine3.16/Dockerfile
index 3be0303..a3cd746 100644
--- a/docker_22.06.0-beta.0-alpine3.16/Dockerfile
+++ b/docker_22.06.0-beta.0-alpine3.16/Dockerfile
@@ -4,25 +4,38 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.16
+FROM docker:22.06-rc-cli
 
-RUN apk add --no-cache \
-		ca-certificates \
-# Workaround for golang not producing a static ctr binary on Go 1.15 and up https://github.com/containerd/containerd/issues/5824
-		libc6-compat \
-# DOCKER_HOST=ssh://... -- https://github.com/docker/cli/pull/1014
-		openssh-client
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
+RUN set -eux; \
+	apk add --no-cache \
+		btrfs-progs \
+		e2fsprogs \
+		e2fsprogs-extra \
+		ip6tables \
+		iptables \
+		openssl \
+		shadow-uidmap \
+		xfsprogs \
+		xz \
+# pigz: https://github.com/moby/moby/pull/35697 (faster gzip implementation)
+		pigz \
+	; \
+# only install zfs if it's available for the current architecture
+# https://git.alpinelinux.org/cgit/aports/tree/main/zfs/APKBUILD?h=3.6-stable#n9 ("all !armhf !ppc64le" as of 2017-11-01)
+# "apk info XYZ" exits with a zero exit code but no output when the package exists but not for this arch
+	if zfs="$(apk info --no-cache --quiet zfs)" && [ -n "$zfs" ]; then \
+		apk add --no-cache zfs; \
+	fi
 
-# set up nsswitch.conf for Go's "netgo" implementation (which Docker explicitly uses)
-# - https://github.com/docker/docker-ce/blob/v17.09.0-ce/components/engine/hack/make.sh#L149
-# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275
-# - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf
-RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
+# TODO aufs-tools
 
-ENV DOCKER_VERSION 22.06.0-beta.0
-# TODO ENV DOCKER_SHA256
-# https://github.com/docker/docker-ce/blob/5b073ee2cf564edee5adca05eee574142f7627bb/components/packaging/static/hash_files !!
-# (no SHA file artifacts on download.docker.com yet as of 2017-06-07 though)
+# set up subuid/subgid so that "--userns-remap=default" works out-of-the-box
+RUN set -eux; \
+	addgroup -S dockremap; \
+	adduser -S -G dockremap dockremap; \
+	echo 'dockremap:165536:65536' >> /etc/subuid; \
+	echo 'dockremap:165536:65536' >> /etc/subgid
 
 RUN set -eux; \
 	\
@@ -40,112 +53,37 @@ RUN set -eux; \
 		'aarch64') \
 			url='https://download.docker.com/linux/static/test/aarch64/docker-22.06.0-beta.0.tgz'; \
 			;; \
-		*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; \
+		*) echo >&2 "error: unsupported 'docker.tgz' architecture ($apkArch)"; exit 1 ;; \
 	esac; \
 	\
-	wget -O docker.tgz "$url"; \
+	wget -O 'docker.tgz' "$url"; \
 	\
 	tar --extract \
 		--file docker.tgz \
 		--strip-components 1 \
 		--directory /usr/local/bin/ \
+		--no-same-owner \
+# we exclude the CLI binary because we already extracted that over in the "docker:22.06-rc-cli" image that we're FROM and we don't want to duplicate those bytes again in this layer
+		--exclude 'docker/docker' \
 	; \
 	rm docker.tgz; \
 	\
 	dockerd --version; \
-	docker --version
+	containerd --version; \
+	ctr --version; \
+	runc --version
 
-ENV DOCKER_BUILDX_VERSION 0.8.2
-RUN set -eux; \
-	apkArch="$(apk --print-arch)"; \
-	case "$apkArch" in \
-		'x86_64') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-amd64'; \
-			sha256='c64de4f3c30f7a73ff9db637660c7aa0f00234368105b0a09fa8e24eebe910c3'; \
-			;; \
-		'armhf') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-arm-v6'; \
-			sha256='d0e5d19cd67ea7a351e3bfe1de96f3d583a5b80f1bbadd61f7adcd61b147e5f5'; \
-			;; \
-		'armv7') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-arm-v7'; \
-			sha256='b5bb1e28e9413a75b2600955c486870aafd234f69953601eecc3664bd3af7463'; \
-			;; \
-		'aarch64') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-arm64'; \
-			sha256='304d3d9822c75f98ad9cf57f0c234bcf326bbb96d791d551728cadd72a7a377f'; \
-			;; \
-		'ppc64le') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-ppc64le'; \
-			sha256='32b317d86c700d920468f162f93ae2282777da556ee49b4329f6c72ee2b11b85'; \
-			;; \
-		'riscv64') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-riscv64'; \
-			sha256='76d5fcf92ffa31b3e470d8ec1ab11f7b6997729e5c94d543fec765ad79ad0630'; \
-			;; \
-		's390x') \
-			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-s390x'; \
-			sha256='ec4bb6f271f38dca5a377a70be24ee2108a85f6e6ba511ad3b805c4f1602a0d2'; \
-			;; \
-		*) echo >&2 "warning: unsupported buildx architecture ($apkArch); skipping"; exit 0 ;; \
-	esac; \
-	plugin='/usr/libexec/docker/cli-plugins/docker-buildx'; \
-	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
-	chmod +x "$plugin"; \
-	docker buildx version
+# https://github.com/docker/docker/tree/master/hack/dind
+ENV DIND_COMMIT 42b1175eda071c0e9121e1d64345928384a93df1
 
-ENV DOCKER_COMPOSE_VERSION 2.7.0
 RUN set -eux; \
-	apkArch="$(apk --print-arch)"; \
-	case "$apkArch" in \
-		'x86_64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64'; \
-			sha256='184df811a70366fa339e99df38fc6ff24fc9e51b3388335efe51c1941377d4ce'; \
-			;; \
-		'armhf') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv6'; \
-			sha256='a5fc14755a5de6c0998907a73b1eb115e3e45b80a05d284fecab2825a3722fca'; \
-			;; \
-		'armv7') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv7'; \
-			sha256='53ed781ff04efa2e93fc6e0c02fc3c7d792083780c747ef06e9e0e46e8bb7eb1'; \
-			;; \
-		'aarch64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-aarch64'; \
-			sha256='bcc79aff65b35581246feca30d53261eddcfc79285868061b31f3ff86d102563'; \
-			;; \
-		'ppc64le') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-ppc64le'; \
-			sha256='a9de33aa3a306ee5a36d2d94e1dd88a5dea1330e774e27d1d7458d44c94d36f9'; \
-			;; \
-		's390x') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-s390x'; \
-			sha256='429498246e1d4778669e781a70e659ba59fa8bb3cdee45f8ce8e01a716a12aff'; \
-			;; \
-		*) echo >&2 "warning: unsupported compose architecture ($apkArch); skipping"; exit 0 ;; \
-	esac; \
-	plugin='/usr/libexec/docker/cli-plugins/docker-compose'; \
-	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
-	chmod +x "$plugin"; \
-	ln -sv "$plugin" /usr/local/bin/; \
-	docker-compose --version; \
-	docker compose version
+	wget -O /usr/local/bin/dind "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind"; \
+	chmod +x /usr/local/bin/dind
 
-COPY modprobe.sh /usr/local/bin/modprobe
-COPY docker-entrypoint.sh /usr/local/bin/
+COPY dockerd-entrypoint.sh /usr/local/bin/
 
-# https://github.com/docker-library/docker/pull/166
-#   dockerd-entrypoint.sh uses DOCKER_TLS_CERTDIR for auto-generating TLS certificates
-#   docker-entrypoint.sh uses DOCKER_TLS_CERTDIR for auto-setting DOCKER_TLS_VERIFY and DOCKER_CERT_PATH
-# (For this to work, at least the "client" subdirectory of this path needs to be shared between the client and server containers via a volume, "docker cp", or other means of data sharing.)
-ENV DOCKER_TLS_CERTDIR=/certs
-# also, ensure the directory pre-exists and has wide enough permissions for "dockerd-entrypoint.sh" to create subdirectories, even when run in "rootless" mode
-RUN mkdir /certs /certs/client && chmod 1777 /certs /certs/client
-# (doing both /certs and /certs/client so that if Docker does a "copy-up" into a volume defined on /certs/client, it will "do the right thing" by default in a way that still works for rootless users)
+VOLUME /var/lib/docker
+EXPOSE 2375 2376
 
-ENTRYPOINT ["docker-entrypoint.sh"]
-CMD ["sh"]
+ENTRYPOINT ["dockerd-entrypoint.sh"]
+CMD []
diff --git a/docker_22.06.0-beta.0-dind-alpine3.16/dockerd-entrypoint.sh b/docker_22.06.0-beta.0-alpine3.16/dockerd-entrypoint.sh
similarity index 100%
rename from docker_22.06.0-beta.0-dind-alpine3.16/dockerd-entrypoint.sh
rename to docker_22.06.0-beta.0-alpine3.16/dockerd-entrypoint.sh
diff --git a/docker_22.06.0-beta.0-alpine3.16/Dockerfile b/docker_22.06.0-beta.0-cli-alpine3.16/Dockerfile
similarity index 75%
copy from docker_22.06.0-beta.0-alpine3.16/Dockerfile
copy to docker_22.06.0-beta.0-cli-alpine3.16/Dockerfile
index 3be0303..233a21e 100644
--- a/docker_22.06.0-beta.0-alpine3.16/Dockerfile
+++ b/docker_22.06.0-beta.0-cli-alpine3.16/Dockerfile
@@ -20,9 +20,6 @@ RUN apk add --no-cache \
 RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
 
 ENV DOCKER_VERSION 22.06.0-beta.0
-# TODO ENV DOCKER_SHA256
-# https://github.com/docker/docker-ce/blob/5b073ee2cf564edee5adca05eee574142f7627bb/components/packaging/static/hash_files !!
-# (no SHA file artifacts on download.docker.com yet as of 2017-06-07 though)
 
 RUN set -eux; \
 	\
@@ -40,23 +37,25 @@ RUN set -eux; \
 		'aarch64') \
 			url='https://download.docker.com/linux/static/test/aarch64/docker-22.06.0-beta.0.tgz'; \
 			;; \
-		*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; \
+		*) echo >&2 "error: unsupported 'docker.tgz' architecture ($apkArch)"; exit 1 ;; \
 	esac; \
 	\
-	wget -O docker.tgz "$url"; \
+	wget -O 'docker.tgz' "$url"; \
 	\
 	tar --extract \
 		--file docker.tgz \
 		--strip-components 1 \
 		--directory /usr/local/bin/ \
+		--no-same-owner \
+		'docker/docker' \
 	; \
 	rm docker.tgz; \
 	\
-	dockerd --version; \
 	docker --version
 
 ENV DOCKER_BUILDX_VERSION 0.8.2
 RUN set -eux; \
+	\
 	apkArch="$(apk --print-arch)"; \
 	case "$apkArch" in \
 		'x86_64') \
@@ -87,50 +86,59 @@ RUN set -eux; \
 			url='https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-s390x'; \
 			sha256='ec4bb6f271f38dca5a377a70be24ee2108a85f6e6ba511ad3b805c4f1602a0d2'; \
 			;; \
-		*) echo >&2 "warning: unsupported buildx architecture ($apkArch); skipping"; exit 0 ;; \
+		*) echo >&2 "warning: unsupported 'docker-buildx' architecture ($apkArch); skipping"; exit 0 ;; \
 	esac; \
+	\
+	wget -O 'docker-buildx' "$url"; \
+	echo "$sha256 *"'docker-buildx' | sha256sum -c -; \
+	\
 	plugin='/usr/libexec/docker/cli-plugins/docker-buildx'; \
 	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
+	mv -vT 'docker-buildx' "$plugin"; \
 	chmod +x "$plugin"; \
+	\
 	docker buildx version
 
-ENV DOCKER_COMPOSE_VERSION 2.7.0
+ENV DOCKER_COMPOSE_VERSION 2.9.0
 RUN set -eux; \
+	\
 	apkArch="$(apk --print-arch)"; \
 	case "$apkArch" in \
 		'x86_64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64'; \
-			sha256='184df811a70366fa339e99df38fc6ff24fc9e51b3388335efe51c1941377d4ce'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-x86_64'; \
+			sha256='3be9ce88ecba41b734e3fc8e59a9b11531133761414a78827d1615aadb5ef1f5'; \
 			;; \
 		'armhf') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv6'; \
-			sha256='a5fc14755a5de6c0998907a73b1eb115e3e45b80a05d284fecab2825a3722fca'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-armv6'; \
+			sha256='2ea0f36350f81ae66db2b8c12104de6ed974a328557a4967857ee6e8df4b8f26'; \
 			;; \
 		'armv7') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-armv7'; \
-			sha256='53ed781ff04efa2e93fc6e0c02fc3c7d792083780c747ef06e9e0e46e8bb7eb1'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-armv7'; \
+			sha256='658db542e40c8063cdafc23f650493bedc10b41b6d6fb581b7866bfeb5ffb0ba'; \
 			;; \
 		'aarch64') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-aarch64'; \
-			sha256='bcc79aff65b35581246feca30d53261eddcfc79285868061b31f3ff86d102563'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-aarch64'; \
+			sha256='6d227b060b2bc3dc5f315a07ae4f647f042755691e2da905b1a21e60a8ae3ddf'; \
 			;; \
 		'ppc64le') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-ppc64le'; \
-			sha256='a9de33aa3a306ee5a36d2d94e1dd88a5dea1330e774e27d1d7458d44c94d36f9'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-ppc64le'; \
+			sha256='101ea490283f3c862e9bb4e7ef2a3fb38393cf2139f2b78e7a7423c91ad0c1fa'; \
 			;; \
 		's390x') \
-			url='https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-s390x'; \
-			sha256='429498246e1d4778669e781a70e659ba59fa8bb3cdee45f8ce8e01a716a12aff'; \
+			url='https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-s390x'; \
+			sha256='0826c101e1d1a070e8ab8d7649c0da3cb9e6ecf1e717c545188243be6e676d00'; \
 			;; \
-		*) echo >&2 "warning: unsupported compose architecture ($apkArch); skipping"; exit 0 ;; \
+		*) echo >&2 "warning: unsupported 'docker-compose' architecture ($apkArch); skipping"; exit 0 ;; \
 	esac; \
+	\
+	wget -O 'docker-compose' "$url"; \
+	echo "$sha256 *"'docker-compose' | sha256sum -c -; \
+	\
 	plugin='/usr/libexec/docker/cli-plugins/docker-compose'; \
 	mkdir -p "$(dirname "$plugin")"; \
-	wget -O "$plugin" "$url"; \
-	echo "$sha256 *$plugin" | sha256sum -c -; \
+	mv -vT 'docker-compose' "$plugin"; \
 	chmod +x "$plugin"; \
+	\
 	ln -sv "$plugin" /usr/local/bin/; \
 	docker-compose --version; \
 	docker compose version
diff --git a/docker_22.06.0-beta.0-alpine3.16/docker-entrypoint.sh b/docker_22.06.0-beta.0-cli-alpine3.16/docker-entrypoint.sh
similarity index 100%
rename from docker_22.06.0-beta.0-alpine3.16/docker-entrypoint.sh
rename to docker_22.06.0-beta.0-cli-alpine3.16/docker-entrypoint.sh
diff --git a/docker_22.06.0-beta.0-alpine3.16/modprobe.sh b/docker_22.06.0-beta.0-cli-alpine3.16/modprobe.sh
similarity index 100%
rename from docker_22.06.0-beta.0-alpine3.16/modprobe.sh
rename to docker_22.06.0-beta.0-cli-alpine3.16/modprobe.sh
diff --git a/docker_22.06.0-beta.0-dind-alpine3.16/Dockerfile b/docker_22.06.0-beta.0-dind-alpine3.16/Dockerfile
deleted file mode 100644
index 8b64f8e..0000000
diff --git a/docker_dind-rootless/Dockerfile b/docker_dind-rootless/Dockerfile
index d56c683..725ef2f 100644
--- a/docker_dind-rootless/Dockerfile
+++ b/docker_dind-rootless/Dockerfile
@@ -29,10 +29,10 @@ RUN set -eux; \
 		'aarch64') \
 			url='https://download.docker.com/linux/static/stable/aarch64/docker-rootless-extras-20.10.17.tgz'; \
 			;; \
-		*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; \
+		*) echo >&2 "error: unsupported 'rootless.tgz' architecture ($apkArch)"; exit 1 ;; \
 	esac; \
 	\
-	wget -O rootless.tgz "$url"; \
+	wget -O 'rootless.tgz' "$url"; \
 	\
 	tar --extract \
 		--file rootless.tgz \
diff --git a/docker_git/Dockerfile b/docker_git/Dockerfile
index d23654f..8851cd7 100644
--- a/docker_git/Dockerfile
+++ b/docker_git/Dockerfile
@@ -4,6 +4,6 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM docker:20.10
+FROM docker:20.10-cli
 
 RUN apk add --no-cache git
diff --git a/docker_rc-dind-rootless/Dockerfile b/docker_rc-dind-rootless/Dockerfile
index c867d9b..60f376b 100644
--- a/docker_rc-dind-rootless/Dockerfile
+++ b/docker_rc-dind-rootless/Dockerfile
@@ -29,10 +29,10 @@ RUN set -eux; \
 		'aarch64') \
 			url='https://download.docker.com/linux/static/test/aarch64/docker-rootless-extras-22.06.0-beta.0.tgz'; \
 			;; \
-		*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; \
+		*) echo >&2 "error: unsupported 'rootless.tgz' architecture ($apkArch)"; exit 1 ;; \
 	esac; \
 	\
-	wget -O rootless.tgz "$url"; \
+	wget -O 'rootless.tgz' "$url"; \
 	\
 	tar --extract \
 		--file rootless.tgz \
diff --git a/docker_rc-git/Dockerfile b/docker_rc-git/Dockerfile
index 52b3e92..632854d 100644
--- a/docker_rc-git/Dockerfile
+++ b/docker_rc-git/Dockerfile
@@ -4,6 +4,6 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM docker:22.06-rc
+FROM docker:22.06-rc-cli
 
 RUN apk add --no-cache git

Relevant Maintainers:

@yosifkit yosifkit merged commit 18b6f09 into docker-library:master Aug 2, 2022
@yosifkit yosifkit deleted the docker branch August 2, 2022 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants