部署容器组时如何运行多个命令?

时间:2019-01-17 14:04:54

标签: azure containers

我正在使用模板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

我的问题是我有多个用户。每个人都需要使用自己的用户名/密码以及该共享中的文件共享或子目录。我也无法理解如何通过环境变量配置多个用户。我试图用;分隔它们。它已部署,但是服务器根本不响应请求。

我可以部署多个容器,每个用户一个,但是当客户数量增加时,这听起来不是一个好主意。

1 个答案:

答案 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"