Example Dockerfiles

Build your own gcloud Docker Image including docker and docker-buildx

  • To get docker and / or docker-buildx dependency on the gcloud :alpine image, use the following Dockerfile:
FROM docker:28.2.2 as static-docker-source # get latest docker
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
# Comment the line below if you don't want `docker`
COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker
# Comment the line below if you don't want `docker-buildx`
COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx
  • To get docker and / or docker-buildx dependency on the gcloud :debian_component_based image, use the following Dockerfile:
FROM docker:28.2.2 as static-docker-source # get latest docker
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:debian_component_based
# Comment the line below if you don't want `docker`
COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker
# Comment the line below if you don't want `docker-buildx`
COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx
  • To get docker and / or docker-buildx dependency on the gcloud :latest image, use the following Dockerfile:
FROM docker:28.2.2 as static-docker-source # get latest docker
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
# Comment the line below if you don't want `docker`
COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker
# Comment the line below if you don't want `docker-buildx`
COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx
  • To get docker and / or docker-buildx dependency on the gcloud :slim image, use the following Dockerfile:
FROM docker:28.2.2 as static-docker-source # get latest docker
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:slim
# Comment the line below if you don't want `docker`
COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker
# Comment the line below if you don't want `docker-buildx`
COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx

Build your own gcloud Docker Image with make

  • To get make on the gcloud :latest image, use the following Dockerfile:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
RUN apt-get update -qqy && apt-get -qqy upgrade && apt-get install -qqy make
  • To get make on the gcloud :debian_component_based image, use the following Dockerfile:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:debian_component_based
RUN apt-get update -qqy && apt-get -qqy upgrade && apt-get install -qqy make

Build your own gcloud Docker Image with Java 21

  • To upgrade to Java 21 on the gcloud :latest image, use the following Dockerfile:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
RUN curl -O https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb && \
apt install ./jdk-21_linux-x64_bin.deb
  • To upgrade to Java 21 on the gcloud :emulators image, use the following Dockerfile:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators
RUN curl -O https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb && \
apt install ./jdk-21_linux-x64_bin.deb
  • To upgrade to Java 21 on the gcloud :debian_component_based image, use the following Dockerfile:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:debian_component_based
RUN curl -O https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb && \
apt install ./jdk-21_linux-x64_bin.deb