如何在 google 云上安排 docker 运行

How to schedule a docker run on google cloud

我的项目中有 3 个批次。我已将所有 3 个批次放在一个 docker 图像中。现在 运行 任何特定的批次我调用带有命令行参数的 docker 运行,shell 脚本考虑到这一点并在图像中启动适当的批次。

现在要在不同的时间段安排这 3 个批次,我可以使用 3 个命令对相同的 docker 个图像使用适当的参数。但是如何部署(应用程序引擎或 gke)以及从何处触发命令?在云调度程序中,只有 Pub Sub / HTTP Url 触发选项可用。所以找不到出路。

你能推荐一下吗?

提前致谢。

此致,

阿林丹

您的问题引起了疑问,但首先,您为什么要使用 App Engine 或 GKE?

IIUC 您可能可以使用 Kubernetes CronJobs 解决您的问题: https://cloud.google.com/kubernetes-engine/docs/how-to/cronjobs

Cloud Scheduler 使用 HTTP 和 Pub/Sub 是因为这为服务提供了一种通用的方式来触发其事件。如果您希望使用 Cloud Scheduler,您可以开发一个伴随(aka "sidecar")图像来公开一个例如HTTP 接口,当被调用时,它会针对您的容器运行正确的命令。然后,您对 Cloud Scheduler 进行编程以根据您的计划调用 sidecar,然后它们依次调用您的容器映像。此处的 Cloud Scheduler 示例采用了与此方法类似的方法: https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule#set_up_the_functions_with

如果您不想使用 Kubernetes,我认为最简单的解决方案是创建一个运行您的 cron 计划的 Compute Engine 实例,它只需在您的图像上调用适当的 docker run 命令如所须。