安装 Cloud SDK Docker 映像

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

Cloud SDK Docker 映像是在基于 Debian 的操作系统映像上安装的 Cloud SDK。Docker 映像托管在 Container Registry 上,并具有以下代码库名称:gcr.io/google.com/cloudsdktool/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 --rm gcr.io/google.com/cloudsdktool/cloud-sdk:latest gcloud version
    

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

    docker run --rm 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> .