安装 Cloud SDK Docker 映像

Cloud SDK Docker 映像实际上是在基于 Debian 的操作系统映像上安装的 Cloud SDK。

这样您就可以从 Dockerhub 中拉取所需的 Cloud SDK 版本作为 Docker 映像,并在独立且正确配置的容器内快速执行 gcloud 命令。

Docker 映像本身同时托管在 Container RegistryDocker Hub 上,并具有以下代码库名称:

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

Docker 映像选项

Cloud SDK Docker 映像有三种类型:最新、精简和 alpine。 您可以使用适当的标记(位于主机代码库名称的后面)来指定您偏好的类型。

  • :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 中拉取该映像:

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

    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. 使用这些凭据列出计算实例,以通过将该容器与 --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:slimgcr.io/google.com/cloudsdktool/cloud-sdk: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 的映像安装其他组件,请创建一个将 Cloud SDK 映像用作基础映像的 Dockerfile。例如,如需添加 kubectlapp-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> .