在本地测试容器映像

在开发期间,您可以在部署前先在本地运行和测试容器映像。您可以使用 Cloud Code本地安装的 Docker 在本地运行和测试,包括在本地运行且可以访问 Google Cloud 服务。

在 Cloud Run for Anthos on Google Cloud 模拟器中运行

适用于 VS CodeCloud Code 插件和 JetBrains IDE 可让您在 IDE 内的 Cloud Run for Anthos on Google Cloud 模拟器中本地运行和调试容器映像。您可以使用模拟器来配置环境以代表在 Cloud Run for Anthos on Google Cloud 上运行的服务。

您可以配置 CPU 和内存分配等属性、指定环境变量,以及设置 Cloud SQL 数据库连接。

  1. 安装 Cloud Code for VS CodeJetBrains IDE
  2. 按照在 IDE 本地开发和调试的说明操作。

使用 Docker 在本地运行

要使用 Docker 在本地测试容器映像,请执行以下操作:

  1. 使用 Docker 命令:

    PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL

    IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest

    PORT 环境变量指定应用将用于侦听 HTTP 或 HTTPS 请求的端口。这是容器运行时合同中的一项要求。在此示例中,我们使用的端口是 8080。

  2. 通过浏览器打开 http://localhost:9090

如果您初次使用容器,可能需要查看 Docker 使用入门指南。如需详细了解 Docker 命令,请参阅 Docker 文档

使用可访问 Google Cloud 服务的 Docker 在本地运行

如果您使用 Google Cloud 客户端库将应用与 GCP 服务集成,但尚未保护这些服务以控制外部访问,则可以设置本地容器以使用应用默认凭据完成 Google Cloud 服务身份验证。

要在本地运行:

  1. 如需了解如何生成、检索和配置服务帐号凭据,请参阅身份验证使用入门

  2. 以下 Docker 运行标志会将本地系统中的凭据和配置注入本地容器:

    1. 使用 --volume (-v) 标志将凭据文件注入容器(假定您已在机器上设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量):
      -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
    2. 使用 --environment (-e) 标志在容器内设置 GOOGLE_APPLICATION_CREDENTIALS 变量:
      -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
  3. (可选)使用以下完全配置的 Docker run 命令:

    PORT=8080 && docker run \
    -p 9090:${PORT} \
    -e PORT=${PORT} \
    -e K_SERVICE=dev \
    -e K_CONFIGURATION=dev \
    -e K_REVISION=dev-00001 \
    -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \
    -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \
    IMAGE_URL

    请注意,

    /tmp/keys/FILE_NAME.json
    上例中所示的路径是将凭据放入容器的合理位置。

    但是,您也可以选择其他目录位置。但有一项重要要求:GOOGLE_APPLICATION_CREDENTIALS 环境变量必须与容器中的绑定装载位置匹配。

    另请注意,对于某些 Google Cloud 服务,您可能需要使用备用配置将本地问题排查与生产性能和数据隔离开来。

后续步骤

如需了解如何部署已构建的容器,请按照部署服务部分中的说明进行操作。