У меня есть два контейнера в моей группе контейнеров в Azure с использованием экземпляров контейнеров Azure (ACI), один (контейнер A) предоставляет порты. 80
и 443
в Интернет (обратный прокси), другой (контейнер B) также работает на порту 80
. Как сопоставить порт контейнера B 80
в другой порт, скажем 8080
, чтобы два контейнера не конфликтовали с портами на локальный хост
(в Azure контейнеры внутри группы контейнеров могут связываться друг с другом через локальный хост)?
я не могу использовать 8080:80
потому что это должно быть число, и я не вижу другого способа указать это. Если я укажу порт 80
в контейнере A обратный прокси-сервер просто зацикливается сам на себе, по сути, обратное проксирование обратного прокси-сервера (обычно порт контейнера B 80
будет доступен на локальном хосте)
Пример:
ресурс "azurerm_container_group" "main_containers" {
имя = "группа контейнеров"
местоположение = var.location
имя_группы_ресурсов = имя_переменной.rg
ip_address_type = "общедоступный"
dns_name_label = local.dns_name_label
ОС_тип = "Линукс"
restart_policy = "Всегда"
теги = переменные.теги
контейнер {
имя = "следующее облако"
изображение = "следующее облако"
процессор = "0,8"
память = "0,8"
переменные_среды = {
MYSQL_DATABASE = azurerm_mariadb_database.nextcloud_database_db.name
MYSQL_USER = azurerm_mariadb_server.nextcloud_database.administrator_login
MYSQL_HOST = azurerm_mariadb_server.nextcloud_database.fqdn
}
secure_environment_variables = {
MYSQL_PASSWORD = azurerm_mariadb_server.nextcloud_database.administrator_login_password
}
объем {
имя = azurerm_storage_share.nextcloud_storage_nextcloud_data_share.name
mount_path = "/var/www/html"
storage_account_name = azurerm_storage_account.nextcloud_storage.name
storage_account_key = azurerm_storage_account.nextcloud_storage.primary_access_key
share_name = azurerm_storage_share.nextcloud_storage_nextcloud_data_share.name
}
порты {
# Вот что я хочу сделать, но не получается:
# Неверное значение атрибута "port": требуется номер.
порт = "8080:80"
протокол = "TCP"
}
}
контейнер {
имя = "обратный прокси-https"
изображение = "кэдди"
процессор = "0,2"
память = "0,2"
команды = [
"кэдди", "обратный прокси",
"-from", local.public_domain_name,
# здесь я бы посоветовал использовать обратный прокси на 8080
"-к", "локальный: 8080",
]
порты {
порт = 80
протокол = "TCP"
}
порты {
порт = 443
протокол = "TCP"
}
объем {
имя = azurerm_storage_share.nextcloud_storage_caddy_data_share.name
mount_path = "/данные/кэдди"
storage_account_name = azurerm_storage_account.nextcloud_storage.name
storage_account_key = azurerm_storage_account.nextcloud_storage.primary_access_key
share_name = azurerm_storage_share.nextcloud_storage_caddy_data_share.name
}
объем {
имя = azurerm_storage_share.nextcloud_storage_caddy_config_share.name
mount_path = "/config/caddy"
storage_account_name = azurerm_storage_account.nextcloud_storage.name
storage_account_key = azurerm_storage_account.nextcloud_storage.primary_access_key
share_name = azurerm_storage_share.nextcloud_storage_caddy_config_share.name
}
}
}