【问题标题】:Azure container instance run bash commandAzure 容器实例运行 bash 命令
【发布时间】:2020-02-18 19:22:46
【问题描述】:

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

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

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

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

现在 Azure 容器实例说您不能为 az container exec 传递命令参数:https://docs.microsoft.com/en-us/azure/container-instances/container-instances-exec

您将如何在 Azure 的自动构建/发布过程中构建、发布和配置容器?

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

非常感谢您的帮助。

【问题讨论】:

    标签: azure containers azure-container-instances


    【解决方案1】:

    我对 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 在其中使用指示的值运行您的应用程序。

    【讨论】:

    • 感谢您的建议,elltrain!我们提出了相同的想法,并将暂时坚持下去。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多