Azure容器实例运行bash命令

时间:2020-02-18 19:22:46

标签: azure containers azure-container-instances

我正在Azure容器实例中的容器内运行R Shiny应用程序。每当我更改应用程序的源代码时,都会通过DevOps管道在Build管道中重新创建容器,并通过az container createaz container restart在Release pipline中通过Azure Cli命令更新容器实例。 / p>

旋转它后,我需要运行bash命令-即自动调整创建的容器中的文件。 在本地Docker中,这将是

docker exec {containerName} /bin/bash -c "echo `"var1 = \`"val1`"`" >> /home/shiny/.Renviron"

这意味着:在容器中运行bash命令以将一些文本推入容器中的.Renviron文件中。

现在Azure容器实例说您不能为az container exechttps://docs.microsoft.com/en-us/azure/container-instances/container-instances-exec

传递命令参数

然后您如何在Azure中的自动生成/发布过程中去构建,发布和配置容器?

我不想在构建管道中设置这些值,因为我想在不同的暂存区域中使用相同的映像,并相应地设置这些值。

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我对azure容器实例非常陌生,因此我可能不了解您的目标,但这似乎是实现此目标的另一种方法:

我不想根据需要在构建管道中设置这些值 将相同的图像用于不同的暂存区域,并设置这些值

可能是在容器创建时使用提到的here的--command-line标志来修改参数值。像

az container create -g MyResourceGroup --name myapp --image myimage:latest --command-line "/bin/sh -c '/path to/myscript.sh val1 val2'"

,其中myscript.sh使用指示的值运行您的应用。