Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте экземпляры контейнеров Azure для запуска бессерверных контейнеров Docker в Azure с простотой и скоростью. Развертывайте приложение в экземпляре контейнера по требованию, когда вам не нужна полнофункциональная платформа оркестрации контейнеров, такая как Azure Kubernetes Service. В этом кратком руководстве вы используете шаблон Azure Resource Manager (шаблон ARM) для развертывания изолированного контейнера Docker и сделать его веб-приложение доступным с общедоступным IP-адресом.
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. На портале Azure откроется шаблон.
Предпосылки
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Проверьте шаблон
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.37.4.10188",
"templateHash": "7099805986652764357"
}
},
"parameters": {
"name": {
"type": "string",
"defaultValue": "acilinuxpublicipcontainergroup",
"metadata": {
"description": "Name for the container group"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"image": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
"metadata": {
"description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
}
},
"port": {
"type": "int",
"defaultValue": 80,
"metadata": {
"description": "Port to open on the container and the public IP address."
}
},
"cpuCores": {
"type": "int",
"defaultValue": 1,
"metadata": {
"description": "The number of CPU cores to allocate to the container."
}
},
"memoryInGb": {
"type": "int",
"defaultValue": 2,
"metadata": {
"description": "The amount of memory to allocate to the container in gigabytes."
}
},
"restartPolicy": {
"type": "string",
"defaultValue": "Always",
"allowedValues": [
"Always",
"Never",
"OnFailure"
],
"metadata": {
"description": "The behavior of Azure runtime if container has stopped."
}
},
"zone": {
"type": "string",
"nullable": true,
"metadata": {
"description": "The availability zone to deploy the container group into. If not specified, the container group is nonzonal and might be deployed into any zone."
}
}
},
"resources": {
"containerGroup": {
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2023-05-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "[parameters('name')]",
"properties": {
"image": "[parameters('image')]",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
],
"resources": {
"requests": {
"cpu": "[parameters('cpuCores')]",
"memoryInGB": "[parameters('memoryInGb')]"
}
}
}
}
],
"osType": "Linux",
"restartPolicy": "[parameters('restartPolicy')]",
"ipAddress": {
"type": "Public",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
]
}
},
"zones": "[if(not(equals(parameters('zone'), null())), createArray(parameters('zone')), null())]"
}
},
"outputs": {
"name": {
"type": "string",
"value": "[parameters('name')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))]"
},
"containerIPv4Address": {
"type": "string",
"value": "[reference('containerGroup').ipAddress.ip]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Следующий ресурс определен в шаблоне:
- Microsoft.ContainerInstance/containerGroups: создайте группу контейнеров Azure. Этот шаблон определяет группу, состоящую из одного экземпляра контейнера.
Дополнительные примеры шаблонов экземпляров контейнеров Azure можно найти в коллекции шаблонов быстрого запуска.
Чтобы развернуть группу контейнеров в определенной зоне доступности, задайте для zone параметра значение логической зоны доступности, в которую требуется развернуть.
Это важно
Зональные развертывания доступны только в регионах, поддерживающих зоны доступности. Чтобы узнать, поддерживает ли ваш регион зоны доступности, см. список регионов Azure.
Развертывание шаблона
Выберите следующее изображение, чтобы войти на портал Azure и открыть шаблон. Шаблон создает реестр и реплику в другом расположении.
Введите или выберите следующие значения.
- Подписка. Выберите нужную подписку Azure.
- Группа ресурсов. Щелкните Создать, введите уникальное имя новой группы ресурсов и щелкните ОК.
- Расположение: выберите расположение для группы ресурсов. Пример: центральная часть США.
- Имя: примите созданное имя для экземпляра или введите имя.
- Изображение: примите имя образа по умолчанию. Этот пример образа Linux содержит небольшое веб-приложение Node.js, которое обслуживает статические HTML-страницы.
Примите значения по умолчанию для оставшихся свойств.
Ознакомьтесь с условиями. Если вы согласны, выберите я согласен с условиями, указанными выше.
После создания экземпляра, которое прошло успешно, вы получите уведомление.
Для развертывания шаблона используется портал Azure. Кроме портала Azure, вы можете использовать Azure PowerShell, Azure CLI и REST API. Дополнительные сведения о других методах развертывания см. в статье о развертывании с использованием шаблонов.
Проверка развернутых ресурсов
Используйте портал Azure или средство, например Azure CLI , для просмотра свойств экземпляра контейнера.
На портале найдите Экземпляры контейнера и выберите экземпляр контейнера, который вы создали.
На странице обзора обратите внимание на состояние экземпляра и его IP-адрес.
После того как его статус станет Запущено, перейдите к IP-адресу в браузере.
Просмотр журналов контейнеров
Просмотр журналов для экземпляра контейнера помогает устранять неполадки с этим контейнером или запущенными в нем приложениями.
Чтобы просмотреть журналы контейнера, в разделе Параметры щелкните Контейнеры>Журналы. Вы увидите запрос HTTP GET, созданный при просмотре приложения в браузере.
Очистка ресурсов
После завершения работы с контейнером на странице "Обзор " для экземпляра контейнера нажмите кнопку "Удалить". При появлении запроса подтвердите удаление.
Дальнейшие действия
В этом кратком руководстве вы создали контейнер Azure из общедоступного образа Microsoft. Если вы хотите создать образ контейнера и развернуть его из частного реестра контейнеров Azure, ознакомьтесь с руководством по Azure Container Instances.
Пошаговые инструкции по созданию шаблона см. в следующей статье: