安排Azure VM打开、运行脚本和关闭

安排Azure VM打开、运行脚本和关闭,azure,docker,cron,docker-compose,virtual-machine,Azure,Docker,Cron,Docker Compose,Virtual Machine,我有一个多容器应用程序,我需要每天在特定时间运行两次,每次大约30分钟。为了节省成本,我想: 在Microsoft Azure上打开Linux虚拟机 运行一个脚本,运行docker compose up-d,等待30分钟,然后调用docker compose stop 关闭虚拟机 我希望这能在cron计划中自动发生 到目前为止,我还没有找到任何Azure解决方案可以做到这一切。Azure automation允许您打开/关闭虚拟机,但不允许您在打开虚拟机后在虚拟机上运行sh脚本。Azure Lo

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

  • 在Microsoft Azure上打开Linux虚拟机
  • 运行一个脚本,运行
    docker compose up-d
    ,等待30分钟,然后调用
    docker compose stop
  • 关闭虚拟机
  • 我希望这能在cron计划中自动发生

    到目前为止,我还没有找到任何Azure解决方案可以做到这一切。Azure automation允许您打开/关闭虚拟机,但不允许您在打开虚拟机后在虚拟机上运行sh脚本。Azure Logic apps允许您按计划启动容器,但不能使用docker compose

    你知道我如何做到这一点,而不需要让虚拟机一直运行吗?

    不用担心,你可以使用prarm通过Azure automation runbook直接在Azure虚拟机上运行sh脚本:
    -CommandId“RunShellScript”

    有关AzureRM命令,请参阅


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

    您是否尝试过在功能应用程序中实现这一点?它是无服务器的,您只需为运行时间付费。我从未将其用于此目的,但可能值得一看。请从您的本地网络运行脚本,以便为您实现自动化。您甚至可以创建虚拟机并在完成后销毁它。因为我使用自动化infra,所以我会使用它(因为它有模块可以使用和)。但是你有。嗨@adobles96,最近怎么样?你的问题解决了吗?嗨@adobles96,需要帮助吗?嗨,Stanley,是的,最后我做了一些非常类似的事情,但是使用python Azure SDK使用了一个cron计划的python脚本。同样的想法。