Cloud SDK Docker イメージのインストール

Cloud SDK Docker イメージは、基本的には Debian ベース OS イメージ上にインストールされる Cloud SDK です。

これにより、Docker イメージとして希望するバージョンの Cloud SDK を Dockerhub から pull し、分離され、適切に構成されているコンテナ内で gcloud コマンドをすぐに実行できます。

Docker イメージ自体は、Container RegistryDocker Hub の両方で、それぞれ次のリポジトリ名でホストされます。

  • Container Registry: gcr.io/google.com/cloudsdktool/cloud-sdk
  • Docker Hub: google/cloud-sdk

Docker イメージ オプション

Cloud SDK Docker イメージには、latest、slim、alpine の 3 種類があります。 ホスト リポジトリ名の後に適切なタグを使用して設定を指定できます。

  • :latest:VERSION: 追加コンポーネントがプリインストールされている大規模(Debian ベース)イメージ
  • :slim:VERSION-slim: コンポーネントがプリインストールされていない小規模(Debian ベース)イメージ
  • :alpine:VERSION-alpine: 追加コンポーネントがプリインストールされていない最小(Alpine ベース)イメージ

指定した Docker イメージのインストール

  1. 最新の Cloud SDK リリースのイメージ gcr.io/google.com/cloudsdktool/cloud-sdk:latest を使用するには、次のコマンドを実行して Container Registry から pull してください。

    docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:latest
    
  2. 最新バージョンをすでに pull している場合は、次のコマンドを実行してインストール環境を確認します。

    docker run gcr.io/google.com/cloudsdktool/cloud-sdk:latest gcloud version
    

    または、次のコマンドを実行して特定のバージョン(ここでは 266.0.0)の有無を確認します。

    docker run gcr.io/google.com/cloudsdktool/cloud-sdk:266.0.0 gcloud version
    
  3. 次のように gcloud コマンドライン ツールを使用して認証します。

    docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud auth login
    

    認証が完了すると、認証情報は gcloud-config container のボリュームに保存されます。

  4. Google Cloud の認証情報を使用しているコンピューティング インスタンスのリストを表示するには、--volumes-from を指定して次のコマンドを実行します。

    docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud compute instances list --project your_project
    

追加コンポーネントのインストール

最新のイメージ(gcr.io/google.com/cloudsdktool/cloud-sdk:latestgcr.io/google.com/cloudsdktool/cloud-sdk:VERSION)にはすべての gcloud コンポーネントがデフォルトでインストールされています。

ただし、gcr.io/google.com/cloudsdktool/cloud-sdk:slim イメージと gcr.io/google.com/cloudsdktool/cloud-sdk:alpine イメージには、追加のコンポーネントがプリインストールされていません。この 2 つのイメージは次の手順で拡張できます。

Debian ベースのイメージ

google-cloud-sdk-datastore-emulator などの追加のコンポーネントをインストールするには、次のコマンドを実行します。

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 ベースのイメージ

Alpine ベースのイメージに追加のコンポーネントをインストールするには、Cloud SDK イメージをベースイメージとして使用する Dockerfile を作成します。たとえば、kubectl コンポーネントと app-engine-java コンポーネントを追加するには、Dockerfile を次のように作成します。

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

作成が完了したら、次のコマンドを実行します。

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

Cloud SDK の特定のバージョンのインストール

特定の Cloud SDK バージョンをインストールするには、次のように docker build コマンドを実行するときにそのバージョンを渡します。

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