繁体   English   中英

如何安排在谷歌云上运行的 docker

[英]How to schedule a docker run on google cloud

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

现在要在不同的时间段安排这 3 个批次,我可以对相同的 docker 图像使用 3 个命令,并使用适当的 arguments。 但是如何部署(app 引擎或 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,您可以开发一个配套(又名“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,我认为最简单的解决方案是创建一个 Compute Engine 实例来运行您的 cron 计划,它只需根据需要在您的映像上调用适当的docker run命令。

您可以将 http-server 包装器添加到您的映像中,并将其部署为 Cloud Run 服务,并使用 Cloud Scheduler 通过 cron 调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM