安装 Google Cloud CLI Docker 映像

通过 Google Cloud CLI Docker 映像,您可以从 Container Registry 将特定版本的 gcloud CLI 作为 Docker 映像拉取,并在正确配置的隔离容器中快速执行 Google Cloud CLI 命令。

Google Cloud CLI Docker 映像是安装在 Debian 或 Alpine 映像之上的 gcloud CLI。Docker 映像托管在 Container Registry 上,并具有以下代码库名称:gcr.io/google.com/cloudsdktool/google-cloud-cli。这些映像还可以使用 us.gcr.ioeu.gcr.ioasia.gcr.io 代码库。

Docker 映像选项

Google Cloud CLI Docker 映像有五个:最新、精简、模拟器、debian_component_based 和 alpine。您可以在主机代码库名称后使用适当的标记来指定偏好设置:

  • :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,请通过运行以下命令从 Container Registry 中拉取该映像:

    docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
    
  2. 如果您已拉取最新版本,请通过运行以下命令验证安装:

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

    如果您拉取了特定版本,请运行类似以下示例的命令来验证安装:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 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. 使用这些凭据列出计算实例,以通过将该容器与 --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:slimgcr.io/google.com/cloudsdktool/google-cloud-cli:emulatorsgcr.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。例如,如需添加 kubectlapp-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> .