Cloud 运行 (GCR) 可以覆盖容器的 CMD 吗?

Can Cloud Run (GCR) override CMD for container?

正在尝试从 k8s 迁移到 Cloud 运行...我有一个通常通过 CMD ["npm","start"] 启动的容器,但它有一些实用方法k8s 在 cron 上调用。 k8s 方便地允许我定义 CMD 覆盖,所以我定义了相同的容器,但在 cron 定义中可以将 CMD 设置为不同的脚本。

对于 Cloud-运行 我正计划使用云调度程序复制它 - 命中云 运行 服务的端点,该服务将定义特殊的 cron CMD...但它看起来像控制台中没有任何地方,gcloud beta run 中也没有 args 让我定义一个命令到 运行 或 enrtypoint。如果我想这样做,我是否必须为单独的命令从第二个 Dockerfile 构建一个单独的图像?

要自定义您的执行方式,您可以:

  1. 使用环境变量。因此,使用相同的容器,但部署不同,您可以自定义 运行(有关信息,每个项目有 100 个服务的限制)

  2. 将参数传递给您的 http 端点。根据这个参数做你想做的。但是您必须将所有 运行 打包到同一个端点。

  3. 替代第 2 点,每次执行可以有 1 个端点,但同样,所有脚本都打包在同一执行中

最终,您始终拥有相同的 CMD 命令,并且只能使用环境变量对其进行自定义。