Google Cloud CLI の Docker イメージを使用すると、Container 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
というリポジトリ名で Container Registry にホストされます。イメージは、us.gcr.io
、eu.gcr.io
、asia.gcr.io
の各リポジトリを使用しても利用できます。
Docker イメージ オプション
Google Cloud CLI の Docker イメージには、latest、slim、エミュレータ、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 イメージのインストール
最新の Google Cloud CLI リリースのイメージ
gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
を使用するには、次のコマンドを実行して Container Registry から pull してください。docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
最新バージョンを 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:372.0.0 gcloud version
次のコマンドを実行して、Google Cloud CLI で認証します。
docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud auth login
認証が完了すると、認証情報は
gcloud-config container
のボリュームに保存されます。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:latest
と gcr.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
イメージには、追加のコンポーネントがプリインストールされていません。これらのイメージは次の手順で拡張できます。
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 ベースのイメージに追加のコンポーネントをインストールするには、Google Cloud CLI イメージをベースイメージとして使用する Dockerfile を作成します。たとえば、kubectl
コンポーネントと app-engine-java
コンポーネントを追加するには、次のような Dockerfile を作成します。
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
RUN apk --update add openjdk7-jre
RUN gcloud components install app-engine-java kubectl
作成が完了したら、次のコマンドを実行します。
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_number> .