首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建容器web应用而不设置linux_fx_version

创建容器web应用而不设置linux_fx_version
EN

Stack Overflow用户
提问于 2021-02-21 04:23:22
回答 1查看 869关注 0票数 0

我想用terraform创建一个容器网络。我也想从github部署它。所以我需要在那里管理linux_fx_version属性。如果我没有在terrraform中设置,则在部署容器时会出现错误

代码语言:javascript
复制
Error: Deployment Failed with Error: Error: This is not a container web app. Please remove inputs like images and configuration-file which are only relevant for container deployment.

当我在terraform中设置属性时,terraform会在我更改基础结构时应用此设置。

有没有办法将web应用程序容器标记为基于,或者仅在未设置时设置此属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 11:23:20

如果要在设置Azure应用程序服务后设置linux_fx_version属性。您可以使用az webapp config container set进行configure a custom container for Azure App Service。此外,您还可以使用Terraform Provisioner来调用运行local-exec的机器上的进程。

例如,您可以从Docker组合文件提供运行多个Docker容器的Linux应用服务。

代码语言:javascript
复制
provisioner  "local-exec" {
 
command =<<EOT
    az webapp config set \
    --resource-group ${azurerm_resource_group.main.name} \
    --name ${azurerm_app_service.main.name} \
    --linux-fx-version "COMPOSE|${filebase64("./compose.yml")}"
    EOT
}

否则,要为具有terraform的容器创建web应用程序,您需要使用linux_fx_version来定义要在启动时加载的容器。

如果你没有使用App Service插槽,并且部署是在Terraform之外处理的-可以忽略在Terraform的生命周期块中使用ignore_changes对配置中特定字段的更改,例如:

代码语言:javascript
复制
resource "azurerm_app_service" "test" {
  # ...
  site_config = {
    # ...
    linux_fx_version = "DOCKER|appsvcsample/python-helloworld:0.1.2"
  }

  lifecycle {
    ignore_changes = [
      "site_config.0.linux_fx_version", # deployments are made outside of Terraform
    ]
  }
}

有关更多信息,请阅读examples of deploying Web App for Containers (Azure App Service) with terraform examples of using the App Service Resources

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66296190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档