Google Cloud CLI の Docker イメージのインストール

Google Cloud CLI の Docker イメージを使用すると、Artifact Registry から Docker イメージとして特定のバージョンの gcloud CLI を pull し、正しく設定された隔離状態のコンテナで Google Cloud CLI コマンドをすばやく実行できます。

Google Cloud CLI の Docker イメージは、Debian または Alpine のイメージ上にインストールされる gcloud CLI です。Docker イメージは、リポジトリ名 gcr.io/google.com/cloudsdktool/google-cloud-cli で、Artifact Registry にホストされます。イメージは、us.gcr.io リポジトリ、eu.gcr.io リポジトリ、asia.gcr.io リポジトリを使用して入手することもできます。

Docker イメージ オプション

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

  • :latest:VERSION: 追加コンポーネントがプリインストールされている大規模(Debian ベース)イメージ
  • :slim:VERSION-slim: コンポーネントがプリインストールされていない小規模(Debian ベース)イメージ
  • :emulators:VERSION-emulators: エミュレータ コンポーネントがプリインストールされた小規模(Debian ベース)イメージ。
  • :alpine:VERSION-alpine: 追加コンポーネントがプリインストールされていない最小(Alpine ベース)イメージ。このイメージは linux/arm をサポートしています。
  • :debian_component_based:VERSION-debian_component_based: Debian ベースのすべてのコンポーネント。deb パッケージを使用した :latest とは異なり、このイメージではコンポーネント マネージャーを使用してコンポーネントをインストールします。このイメージは linux/arm をサポートしています。

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

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

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

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

    特定のバージョンを pull した場合は、次のサンプルのようなコマンドを実行してインストールを確認します。

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:<release_version> gcloud version
    
  3. 次のコマンドを実行して、Google Cloud CLI で認証を行います。

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

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

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

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

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

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

ただし、gcr.io/google.com/cloudsdktool/google-cloud-cli:slim イメージ、gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators イメージ、gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine イメージには、追加のコンポーネントがプリインストールされていません。

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

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

openjdk7-jre で機能しない場合は、openjdk8-jre を試してください。

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

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

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

特定の Google Cloud CLI バージョンをインストールするには、docker build コマンドを実行するときに、対象の gcloud CLI バージョンを指定します。

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

Google Cloud CLI の最新バージョン Google Cloud CLI の以前のすべてのバージョンを確認します。