Public | Automated Build

Last pushed: 4 days ago
Short Description
Google Cloud SDKbundle with all components and dependencies
Full Description

Google Cloud SDK Docker

This is Docker image for the Google Cloud SDK.

The :latest tag of this image is Debian-based and includes default command
line tools of Google Cloud SDK (gcloud, gsutil, bq) as well as all
additional components.

Supported tags

  • google/cloud-sdk:latest, google/cloud-sdk:VERSION: (large image with
    additional components pre-installed, Debian-based)
  • google/cloud-sdk:slim, google/cloud-sdk:VERSION-slim: (smaller image with
    no components pre-installed, Debian-based)
  • google/cloud-sdk:alpine, google/cloud-sdk:VERSION-alpine: (smallest image
    with no additional components installed, Alpine-based)

→ Check out Docker Hub for available tags.



Usage

To use this image, pull from Docker Hub, run the following command:

docker pull google/cloud-sdk:latest

Verify the install

docker run -ti  google/cloud-sdk:latest gcloud version
Google Cloud SDK 159.0.0

or use a particular version number:

docker run -ti google/cloud-sdk:160.0.0 gcloud version

Then, authenticate by running:

docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login

Once you authenticate successfully, credentials are preserved in the volume of
the gcloud-config container.

To list compute instances using these credentials, run the container with
--volumes-from:

docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gcloud compute instances list --project your_project
NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP      STATUS
instance-1  us-central1-a  n1-standard-1               10.240.0.2   8.34.219.29      RUNNING

:warning: Warning: The gcloud-config container now has a volume
containing your Google Cloud credentials. Do not use gcloud-config volume in
other containers.

Installing additional components

By default, all gcloud components
are
installed on the default
images (google/cloud-sdk:latest and google/cloud-sdk:VERSION).

The google/cloud-sdk:slim and google/cloud-sdk:alpine images do not contain
additional components pre-installed. You can extend these images by following
the instructions below:

Debian-based images

cd debian_slim/
docker build --build-arg CLOUD_SDK_VERSION=159.0.0 \
    --build-arg INSTALL_COMPONENTS="google-cloud-sdk-datastore-emulator" \
    -t my-cloud-sdk-docker:slim .

Alpine-based images

To install additional components for Alpine-based images, create a Dockerfile
that uses the gcloud image as the base image. For example, to add kubectl and
app-engine-java components:

FROM google/cloud-sdk:alpine
RUN apk --update add openjdk7-jre
RUN gcloud components install app-engine-java kubectl

and run:

docker build  -t my-cloud-sdk-docker:alpine .

Note that in this case, you have to install dependencies of additional
components manually.

Installing different version of gcloud sdk:

docker build -t my-cloud-sdk-docker:alpine --build-arg CLOUD_SDK_VERSION=<release_number> .

Legacy image (Google App Engine based)

The original image in this repository was based off of

FROM gcr.io/google_appengine/base

The full Dockerfile for that can be found
here for archival as well as in image tag
google/cloud-sdk-docker:legacy

Cloud SDK Release Tracking

You can also follow the Cloud SDK Release schedule here

Docker Pull Command
Owner
google