docker - 如何在谷歌云上安排 docker 运行
问题描述
我的项目中有 3 个批次。我已将所有 3 个批次放在一个 docker 映像中。现在要运行任何特定批处理,我使用命令行参数调用 docker run,shell 脚本会考虑该参数并在映像中启动适当的批处理。
现在要将这 3 个批次安排在不同的时间段,我可以对具有适当参数的相同 docker 映像使用 3 个命令。但是如何部署(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,我认为最简单的解决方案是让您创建一个运行您的 cron 计划的 Compute Engine 实例,它只是docker run
根据需要在您的映像上调用适当的命令。
推荐阅读
- php - PHP(codeigniter)后端自动从 AJAX 调用中截取 POST 数据
- python - 如何将行多次插入到 numpy 数组中?
- javascript - 特定元素上的 Vue.js 过渡
- python - python函数中的奇怪返回值
- c - Qtcreator 错误添加符号:命令行中缺少 DSO
- ios - iOS:WebThread 因 EXC_BAD_ACCESS 崩溃
- javascript - 从非反应 jquery html 表单页面传递参数以反应应用程序
- javascript - 仅重置表单的一部分
- symfony - services.yaml 配置 - 没有命名空间的自动装配
- javascript - 为什么这个 vue 转换没有按预期工作?