1+ ARG BASE_PREFIX=mirror.gcr.io/library/
12# Copyright 2019 The Skaffold Authors All rights reserved.
23#
34# Licensed under the Apache License, Version 2.0 (the "License");
1415
1516ARG ARCH=amd64
1617
18+ FROM ${BASE_PREFIX}docker:28.1.1 as docker-source
19+ FROM docker/buildx-bin:0.23.0 as buildx-source
20+ FROM ${BASE_PREFIX}golang:1.25.5 as golang-source
21+
1722# Download kubectl
18- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-kubectl
23+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-kubectl
1924ARG ARCH
2025# https://dl.k8s.io/release/stable.txt
2126ENV KUBECTL_VERSION v1.33.0
@@ -25,7 +30,7 @@ RUN wget -O kubectl "${KUBECTL_URL}" && sha256sum -c kubectl.${ARCH}.sha256
2530RUN chmod +x kubectl
2631
2732# Download helm (see https://github.com/helm/helm/releases/latest)
28- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-helm
33+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-helm
2934ARG ARCH
3035RUN echo arch=$ARCH
3136ENV HELM_VERSION v3.17.3
@@ -35,7 +40,7 @@ RUN wget -O helm.tar.gz "${HELM_URL}" && sha256sum -c helm.${ARCH}.sha256
3540RUN tar -xvf helm.tar.gz --strip-components 1
3641
3742# Download kustomize (see https://github.com/kubernetes-sigs/kustomize/releases/latest)
38- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-kustomize
43+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-kustomize
3944ARG ARCH
4045ENV KUSTOMIZE_VERSION 5.6.0
4146ENV KUSTOMIZE_URL https://storage.googleapis.com/skaffold/deps/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_${ARCH}.tar.gz
@@ -44,7 +49,7 @@ RUN wget -O kustomize.tar.gz "${KUSTOMIZE_URL}" && sha256sum -c kustomize.${ARCH
4449RUN tar -xvf kustomize.tar.gz
4550
4651# Download kpt (see https://github.com/kptdev/kpt/releases/latest)
47- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-kpt
52+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-kpt
4853ARG ARCH
4954ENV KPT_VERSION 1.0.0-beta.57
5055ENV KPT_URL https://storage.googleapis.com/skaffold/deps/kpt/v${KPT_VERSION}/kpt_linux_amd64
@@ -53,7 +58,7 @@ RUN wget -O kpt "${KPT_URL}" && sha256sum -c kpt.${ARCH}.sha256
5358RUN chmod +x kpt
5459
5560# Download kompose (see https://github.com/kubernetes/kompose/releases/latest)
56- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-kompose
61+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-kompose
5762ARG ARCH
5863ENV KOMPOSE_VERSION v1.35.0
5964ENV KOMPOSE_URL https://storage.googleapis.com/skaffold/deps/kompose/${KOMPOSE_VERSION}/kompose-linux-amd64
@@ -62,7 +67,7 @@ RUN wget -O kompose "${KOMPOSE_URL}" && sha256sum -c kompose.${ARCH}.sha256
6267RUN chmod +x kompose
6368
6469# Download container-structure-test (https://github.com/GoogleContainerTools/container-structure-test/releases/latest)
65- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-container-structure-test
70+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-container-structure-test
6671ARG ARCH
6772ENV CONTAINER_STRUCTURE_TEST_VERSION v1.19.3
6873ENV CONTAINER_STRUCTURE_TEST_URL https://storage.googleapis.com/skaffold/deps/container-structure-test/${CONTAINER_STRUCTURE_TEST_VERSION}/container-structure-test-linux-${ARCH}
@@ -71,7 +76,7 @@ RUN wget -O container-structure-test "${CONTAINER_STRUCTURE_TEST_URL}" && sha512
7176RUN chmod +x container-structure-test
7277
7378# Download kind (see https://github.com/kubernetes-sigs/kind/releases/latest)
74- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-kind
79+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-kind
7580ARG ARCH
7681ENV KIND_VERSION v0.27.0
7782ENV KIND_URL https://storage.googleapis.com/skaffold/deps/kind/${KIND_VERSION}/kind-linux-${ARCH}
@@ -80,7 +85,7 @@ RUN wget -O kind "${KIND_URL}" && sha512sum -c kind.${ARCH}.sha512
8085RUN chmod +x kind
8186
8287# Download k3d (see https://github.com/k3d-io/k3d/releases/latest)
83- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-k3d
88+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-k3d
8489ARG ARCH
8590ENV K3D_VERSION v5.8.3
8691ENV K3D_URL https://storage.googleapis.com/skaffold/deps/k3d/${K3D_VERSION}/k3d-linux-amd64
@@ -89,7 +94,7 @@ RUN wget -O k3d "${K3D_URL}" && sha256sum -c k3d.${ARCH}.sha256
8994RUN chmod +x k3d
9095
9196# Download gcloud (see https://cloud.google.com/sdk/docs/release-notes)
92- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-gcloud
97+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-gcloud
9398ARG ARCH
9499ENV GCLOUD_VERSION 520.0.0
95100ENV GCLOUD_URL https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GCLOUD_VERSION}-linux-GCLOUDARCH.tar.gz
@@ -102,7 +107,7 @@ RUN \
102107RUN tar -zxf gcloud.tar.gz
103108
104109# Download bazel (see https://github.com/bazelbuild/bazel/releases/latest)
105- FROM mirror.gcr.io/library/ alpine:3.21.2 as download-bazel
110+ FROM ${BASE_PREFIX} alpine:3.21.2 as download-bazel
106111ARG ARCH
107112ENV BAZEL_VERSION 8.2.1
108113ENV BAZEL_URL https://storage.googleapis.com/skaffold/deps/bazel/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-linux-BAZELARCH
@@ -113,17 +118,18 @@ RUN \
113118 sha256sum -c bazel.${ARCH}.sha256
114119RUN chmod +x bazel
115120
116- FROM mirror.gcr.io/library/ ubuntu:24.04 as runtime_deps
121+ FROM ${BASE_PREFIX} ubuntu:24.04 as runtime_deps
117122
118123RUN apt-get update && \
119124 apt-get install --no-install-recommends --no-install-suggests -y \
120125 git python3 unzip && \
121126 rm -rf /var/lib/apt/lists/*
122127
123128# https://docs.docker.com/engine/release-notes
124- COPY --from=mirror.gcr.io/library/ docker:28.1.1 /usr/local/bin/docker /usr/local/bin/
129+ COPY --from=docker-source /usr/local/bin/docker /usr/local/bin/
125130# https://hub.docker.com/r/docker/buildx-bin/tags
126- COPY --from=mirror.gcr.io/docker/buildx-bin:0.23.0 /buildx /usr/libexec/docker/cli-plugins/docker-buildx
131+ COPY --from=buildx-source /buildx /usr/libexec/docker/cli-plugins/docker-buildx
132+
127133COPY --from=download-kubectl kubectl /usr/local/bin/
128134COPY --from=download-helm helm /usr/local/bin/
129135COPY --from=download-kustomize kustomize /usr/local/bin/
@@ -163,5 +169,7 @@ RUN apt-get update && apt-get install --no-install-recommends --no-install-sugge
163169 jq \
164170 apt-transport-https && \
165171 rm -rf /var/lib/apt/lists/*
166- COPY --from=mirror.gcr.io/library/golang:1.25.5 /usr/local/go /usr/local/go
167- ENV PATH /usr/local/go/bin:/root/go/bin:$PATH
172+
173+ # Use the alias created at the top
174+ COPY --from=golang-source /usr/local/go /usr/local/go
175+ ENV PATH /usr/local/go/bin:/root/go/bin:$PATH
0 commit comments