【问题标题】:Schedule Azure VM to turn on, run a script and turn off安排 Azure VM 打开、运行脚本和关闭
【发布时间】:2019-11-30 00:08:19
【问题描述】:

我有一个多容器应用程序,我需要每天在特定时间运行两次,每次运行大约 30 分钟。为了节省成本,我想:

  1. 在 Microsoft Azure 上打开 Linux VM
  2. 运行一个运行docker-compose up -d的脚本,等待30分钟,然后调用docker-compose stop
  3. 关闭虚拟机

我希望这能在 cron 计划中自动发生。

到目前为止,我还没有找到任何可以做到这一切的 Azure 解决方案。 Azure 自动化允许你打开/关闭 VM,但它不允许你在打开它后在其上运行 sh 脚本。 Azure Logic 应用程序允许您按计划启动容器,但不能使用 docker-compose。

关于如何以不涉及我拥有始终开启的 VM 的方式完成此任务有什么想法吗?

【问题讨论】:

  • 您是否尝试过在函数应用程序中执行此操作?它是无服务器的,您只需为运行时付费。我从未将它用于此目的,但可能值得研究。
  • 从您的本地网络运行脚本,为您自动执行此操作。您甚至可以创建虚拟机并在完成后将其销毁。由于我使用ansible 自动化基础设施,这就是我将使用的(因为它具有可与azuredocker 一起使用的模块)。但是你有tons of other choices
  • 嗨@adobles96,怎么样?您的问题解决了吗?

标签: azure docker cron docker-compose virtual-machine


【解决方案1】:

不用担心,您可以使用 this AZ powershell command 直接通过带有 prarm 的 Azure 自动化运行手册在您的 Azure VM 上运行 sh 脚本:-CommandId 'RunShellScript'

AzureRM命令请参考here

我已经在我这边进行了测试,它非常适合我。

【讨论】:

  • 嗨@adobles96,需要任何帮助吗?
  • 嗨,Stanley,是的,最后我做了一些非常相似的事情,但是使用了一个使用 python Azure SDK 的 cron 调度的 python 脚本。同样的想法。
猜你喜欢
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 2022-01-16
  • 2019-12-07
  • 2019-07-13
  • 1970-01-01
相关资源
最近更新 更多