Browse code

Include VPNkit binary for arm64

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
(cherry picked from commit 088e6ee7906b8ff6f258932e8f9aab8f2211c9f5)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Akihiro Suda authored on 2021/02/24 14:05:38
Showing 2 changed files
... ...
@@ -5,7 +5,7 @@ ARG SYSTEMD="false"
5 5
 # IMPORTANT: When updating this please note that stdlib archive/tar pkg is vendored
6 6
 ARG GO_VERSION=1.13.15
7 7
 ARG DEBIAN_FRONTEND=noninteractive
8
-ARG VPNKIT_VERSION=0.4.0
8
+ARG VPNKIT_VERSION=0.5.0
9 9
 ARG DOCKER_BUILDTAGS="apparmor seccomp"
10 10
 
11 11
 ARG BASE_DEBIAN_DISTRO="buster"
... ...
@@ -241,7 +241,13 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
241 241
 COPY ./contrib/dockerd-rootless.sh /build
242 242
 COPY ./contrib/dockerd-rootless-setuptool.sh /build
243 243
 
244
-FROM djs55/vpnkit:${VPNKIT_VERSION} AS vpnkit
244
+FROM --platform=amd64 djs55/vpnkit:${VPNKIT_VERSION} AS vpnkit-amd64
245
+
246
+FROM --platform=arm64 djs55/vpnkit:${VPNKIT_VERSION} AS vpnkit-arm64
247
+
248
+FROM scratch AS vpnkit
249
+COPY --from=vpnkit-amd64 /vpnkit /build/vpnkit.x86_64
250
+COPY --from=vpnkit-arm64 /vpnkit /build/vpnkit.aarch64
245 251
 
246 252
 # TODO: Some of this is only really needed for testing, it would be nice to split this up
247 253
 FROM runtime-dev AS dev-systemd-false
... ...
@@ -308,7 +314,7 @@ COPY --from=shfmt         /build/ /usr/local/bin/
308 308
 COPY --from=runc          /build/ /usr/local/bin/
309 309
 COPY --from=containerd    /build/ /usr/local/bin/
310 310
 COPY --from=rootlesskit   /build/ /usr/local/bin/
311
-COPY --from=vpnkit        /vpnkit /usr/local/bin/vpnkit.x86_64
311
+COPY --from=vpnkit        /build/ /usr/local/bin/
312 312
 COPY --from=proxy         /build/ /usr/local/bin/
313 313
 ENV PATH=/usr/local/cli:$PATH
314 314
 ARG DOCKER_BUILDTAGS
... ...
@@ -356,7 +362,7 @@ COPY --from=runc        /build/ /usr/local/bin/
356 356
 COPY --from=containerd  /build/ /usr/local/bin/
357 357
 COPY --from=rootlesskit /build/ /usr/local/bin/
358 358
 COPY --from=proxy       /build/ /usr/local/bin/
359
-COPY --from=vpnkit      /vpnkit /usr/local/bin/vpnkit.x86_64
359
+COPY --from=vpnkit      /build/ /usr/local/bin/
360 360
 WORKDIR /go/src/github.com/docker/docker
361 361
 
362 362
 FROM binary-base AS build-binary
... ...
@@ -21,7 +21,7 @@ copy_binaries() {
21 21
 		fi
22 22
 	done
23 23
 
24
-	# vpnkit is amd64 only
24
+	# vpnkit is available for x86_64 and aarch64
25 25
 	if command -v "vpnkit.$(uname -m)" 2>&1 > /dev/null; then
26 26
 		cp -f "$(command -v "vpnkit.$(uname -m)")" "$dir/vpnkit"
27 27
 		if [ "$hash" = "hash" ]; then