docker login <snip>
docker pull example.com/bar:latest
docker run example.com/bar:latest
我可以不使用VM而是使用Azure服务吗,也许可以使用某种调度程序在Azure容器实例上运行此脚本?
我的动机不是想要维护和购买VM。
#1 楼
如您建议的那样,Azure容器实例(ACI)可能是一个不错的选择。这些使您可以直接在Azure上运行容器,而无需管理VM,并按使用容器的时间计费。
尽管该博客上的一个演示中提到了Kubernetes,但是ACI的想法是您可以使用
az container create
通过Azure CLI创建容器,就像在本地工作站上使用docker create
一样。要创建容器,可以使用Azure CLI(
az
命令,请参阅快速入门文档)或Azure Cloud Shell。您需要按计划从某个地方创建/运行容器否则-Azure Functions可能是从计划函数运行“容器创建”命令的好地方。它支持bash,PowerShell和其他语言-全部在Windows上运行。
如果您想在不运行VM或不学习Kubernetes的情况下继续使用Docker容器,那么这可能是个不错的选择。
或者,您可以将所有代码移入Azure函数,但这是一个更大的决定。
更新:2019年1月-Azure Logic Apps可用于运行计划任务好吧。
#2 楼
对于替代方法,我将调查Azure函数:https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-overview
https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-create-scheduled-function
没有VM持续运行。
#3 楼
预定的devops管道是一种可重复运行的简单,免费的方式来运行Azure cli任务。https://docs.microsoft.com/zh-cn/azure/devops/pipelines/process/ Scheduled-triggers?view = azure-devops&tabs = yaml
评论
我不知道我可以将PowerShell或Bash用于Azure Functions!谢谢
–西门·穆尔德(Sijmen Mulder)
17年7月30日在12:12
是的,您可以从Azure Functions运行任何可执行文件,并且在本概述文档中明确提到了bash。要调用PowerShell模块,请参阅此博客。
– RichVel
17年7月31日在5:51
通常会使用Azure功能,AWS Lambda等云功能来运行用于配置云服务的安装脚本(例如,设置新的云环境)。因此,您可以期望所有无服务器服务和框架都支持运行bash或类似服务。传统上,您要设置的第一台VM是一台“控制主机”服务器,用作运行所有环境的所有设置的位置。无服务器运行所有此类脚本意味着无需主机付费。如果遭到入侵,控制服务器将泄露您的环境,旧脚本以及可能缓存的密码的地图。无服务器bash更安全。
–simbo1905
19年1月4日在6:55
不是所有的FaaS(无服务器)服务都支持bash。实际上,AWS Lambda仅通过自定义图层支持bash,自定义图层是2018年末添加的功能-您可以使用此开源图层来简化bash的运行。通常,无服务器/ FaaS服务支持特定的语言,一些提供商启用了扩展语言的方式-例如,AWS具有Layers,而Google具有允许任何Docker容器运行的FaaS服务。
– RichVel
20-2-1在8:26
为简单起见,如果您不想使用图层-您可以编写一个运行bash的Node / Python Lambda,而无需使用图层-请参见lambdash作为一个示例。
– RichVel
20年2月1日在8:33