Я пытаюсь развернуть экземпляр контейнера Azure с несколькими внешними портами. Я пробовал следующий код terraform:
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "experiment" {
name = "experiment"
location = "west europe"
}
resource "azurerm_container_group" "nginx" {
name = "nginx-test-terraform"
location = azurerm_resource_group.experiment.location
resource_group_name = azurerm_resource_group.experiment.name
os_type = "Linux"
ip_address_type = "public"
dns_name_label = "nginx-test-terraform"
container {
name = "nginx"
image = "nginx"
cpu = "0.5"
memory = "0.5"
ports {
port = 80
protocol = "TCP"
}
}
container {
name = "nginx2"
image = "nginx"
cpu = "0.5"
memory = "0.5"
ports {
port = 81
protocol = "TCP"
}
}
}
Однако 2-й контейнер всегда завершается ошибкой со следующей ошибкой:
[emerg] 1 # 1: сбой bind () до 0.0.0.0:80 (98: Адрес уже используется)
Можно ли как-то исправить это в файле, или это ограничение Terraform на данный момент?
Я пытался сделать то же самое с Файл Yaml:
apiVersion: 2018-10-01
name: dockercompose-exp-01
location: westeurope
type: Microsoft.ContainerInstance/containerGroups
properties:
osType: Linux
restartPolicy: Always
containers:
- name: helloworld-ms
properties:
image: mcr.microsoft.com/azuredocs/aci-helloworld
resources:
requests:
cpu: 0.5
memoryInGB: 0.5
ports:
- port: 80
protocol: TCP
- name: helloworld-nginx
properties:
image: nginx
resources:
requests:
cpu: 0.5
memoryInGB: 0.5
ports:
- port: 81
protocol: TCP
ipAddress:
ports:
- port: 80
protocol: TCP
- port: 81
protocol: TCP
type: Public
dnsNameLabel: dockercompose-exp-01
и то же самое происходит.
Следовательно, похоже, что это либо ограничение платформы, либо у меня какая-то синтаксическая ошибка.
Любая помощь приветствуется.