我正在使用模板https://docs.microsoft.com/en-us/azure/templates/microsoft.containerinstance/2018-10-01/containergroups部署一个Container组
它具有命令参数,但它只是一个字符串,可以运行一个命令。我想在部署时运行多个命令。有可能吗?
如果没有,是否有办法使用PowerShell在容器部署后对容器运行这些命令?
我的用例: 我需要Azure中的SFTP服务器,以便客户能够向我们发送数据。然后,我使用Logic App进行轮询。
我做了什么: 我发现此模板非常适合我的需求,因为轮询Azure存储文件共享更容易。
https://github.com/Azure/azure-quickstart-templates/blob/master/201-aci-sftp-files
我的问题是我有多个用户。每个人都需要使用自己的用户名/密码以及该共享中的文件共享或子目录。我也无法理解如何通过环境变量配置多个用户。我试图用;分隔它们。它已部署,但是服务器根本不响应请求。
我可以部署多个容器,每个用户一个,但是当客户数量增加时,这听起来不是一个好主意。
答案 0 :(得分:0)
不幸的是,您似乎无法一次运行多命令。参见Restrictions of the exec command for ACI:
Azure容器实例当前支持启动单个 使用z容器exec进行处理,并且您无法传递命令参数。 例如,您不能像sh -c“ echo FOO && echo BAR”,或执行回显FOO。
我建议您可以运行命令来创建与容器实例的交互式会话,以在创建ACI之后连续执行命令。
对于Linux:
az container exec -g groupName -n containerName --exec-command "/bin/bash"
对于Windows:
az container exec -g groupName -n containerName --exec-command "cmd.exe"