这是我的terraform模板的样子:
resource "azurerm_resource_group" "example" {
name = "myAppServiceRG"
location = var.location
}
resource "azurerm_service_plan" "example" {
name = var.servicePlanName
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
os_type = "Linux"
sku_name = var.pricingTier
worker_count = var.nodesInWebFarm
}
resource "azurerm_linux_web_app" "example" {
name = var.appName
resource_group_name = azurerm_resource_group.example.name
location = azurerm_service_plan.example.location
service_plan_id = azurerm_service_plan.example.id
site_config {
application_stack {
docker_image = var.dockerHubImage
docker_image_tag = "latest"
}
}
}
和参数.tfvars文件:
location = "West Europe"
servicePlanName = "someserviceplan"
nodesInWebFarm = 2
pricingTier = "P1v2"
appName = "myuniquelinuxwebapplication"
dockerHubImage = "DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp"
但是由于某些原因,当我尝试执行terraform apply -var-file .\parameters.tfvars
时,我得到了这个错误:
错误:创建Linux Web应用程序:(站点名称“myuniquelinuxwebapplication”/资源组“myAppServiceRG”):web.AppsClient#CreateOrUpdate:发送请求失败:StatusCode=400 --原始错误:Code=“BadRequest”Message=“参数LinuxFxVersion的值无效。”详细信息=[{“Message”:“参数LinuxFxVersion的值无效。"},{“Code”:“BadRequest”},{“ErrorEntity”:{“Code”:“BadRequest”,“ExtendedCode”:“01007”,“Message”:“参数LinuxFxVersion的值无效。",“MessageTemplate”:“参数{0}的值无效。",“Parameters”:[“LinuxFxVersion”]}}]
有谁知道为什么,以及如何改变这一点?
3条答案
按热度按时间92vpleto1#
听起来你的Linux服务计划和你的docker容器之间不匹配。
我认为将容器更改为Linux构建将修复它
完整的标签在此页上(向下滚动一点)https://hub.docker.com/_/microsoft-dotnet-samples
t3irkdon2#
请从
dockerHubImage
中删除Docker部分,它应该可以工作。所以应该是这样的:vmpqdwk33#
对我来说,问题是包含Docker镜像的变量没有设置或设置为错误的值。非常误导性的错误。。