配置容器

本页面介绍如何配置容器端口、入口点命令和参数。

当 Cloud Run 启动容器时,它会运行映像的默认入口点命令和默认命令参数。如果要替换映像的默认入口点和命令参数,您可以使用容器配置中的 commandargs 字段。command 字段指定容器运行的实际命令。args 字段指定传递给该命令的参数。

配置容器端口

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

容器应侦听 PORT 环境变量定义的端口,而不是特定的硬编码端口。但是,如果无法做到这一点,您可以配置请求通过哪个端口发送到容器:

控制台

  1. 转到 Cloud Run

  2. 如果您是要配置一个新服务来作为部署目标,请点击创建服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本

  3. 在“高级设置”下,点击容器

    图片

  4. 指定要向其发送请求的端口(如果该端口不是默认值“8080”)。这也会设置“PORT”环境变量。

  5. 点击创建部署

命令行

您可以使用以下命令更新服务的端口配置

gcloud run services update SERVICE --port PORT

替换

  • SERVICE 替换为相应服务的名称。
  • PORT 替换为要向其发送请求的端口。请注意,默认端口为 8080

您还可以使用以下命令在部署期间配置端口:

gcloud run deploy --image IMAGE_URL --port PORT

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

YAML

您可以使用 gcloud run services describe --format export 命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后,您可以使用 gcloud beta run services replace 命令修改下述字段并上传修改后的 YAML。请务必仅修改记录的字段。

  1. 要查看和下载配置,请运行以下命令:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 更新 containerPort: 特性:

    spec:
      containers:
      - image: IMAGE_URL
        ports:
        - containerPort: PORT
    

    替换

    • IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest
    • PORT 替换为要向其发送请求的端口。
  3. 使用以下命令将服务替换为其新配置:

    gcloud beta run services replace service.yaml

配置容器入口点命令和参数

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

您可以在创建新服务部署新修订版本时使用 Cloud Console、gcloud 命令行或 .yaml 文件来设置入口点命令和参数:

控制台

  1. 转到 Cloud Run

  2. 如果您是要配置一个新服务来作为部署目标,请点击创建服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本

  3. 在“高级设置”下,点击容器

    图片

  4. 指定您希望容器运行的命令(如果该命令不是容器中定义的命令);您还可以选择指定入口点命令的参数。

  5. 点击创建部署

命令行

您可以使用以下命令更新给定服务的启动命令和参数

gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N

替换

  • COMMAND 替换为启动容器的命令(如果您未使用默认命令)。
  • ARG1 替换为要发送到容器命令的参数;请对多个参数使用英文逗号分隔列表。

您还可以使用以下命令在部署期间指定入口点和参数:

gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

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

如果您在参数中使用等号,请使用以下格式提供这些参数:

gcloud run deploy  \
  --args "--repo-allowlist=github.com/example/example_demo" \
  --args "--gh-webhook-secret=XX" \

如果参数使用英文逗号,请参阅配置环境变量以详细了解如何进行转义。

YAML

您可以使用 gcloud run services describe --format export 命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后,您可以使用 gcloud beta run services replace 命令修改下述字段并上传修改后的 YAML。请务必仅修改记录的字段。

  1. 如需查看和下载配置,请运行以下命令:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 更新 commandargs 特性:

    spec:
      containers:
      - image: IMAGE_URL
        command:
        - COMMAND
        args:
          - "ARG1"
          - "ARG-N"
    

    替换

    • IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest
    • COMMAND 替换为启动容器的命令(如果您未使用默认命令)。
    • ARG1 替换为要发送到容器命令的参数;请对多个参数使用英文逗号分隔列表。
  3. 使用以下命令将服务替换为其新配置:

    gcloud beta run services replace service.yaml

查看容器设置

如需查看当前服务的容器设置,请执行以下操作:

控制台

  1. 转到 Cloud Run

  2. 点击您感兴趣的服务以打开“服务详细信息”页面。

  3. 点击修订版本标签页。

  4. 在右侧的详细信息面板中,“容器”标签页下列出了容器设置。

命令行

  1. 使用以下命令:

    gcloud run services describe SERVICE
  2. 在返回的配置中找到容器设置。