Szybki start: wdrażanie wystąpienia kontenera na platformie Azure przy użyciu szablonu usługi ARM
Użyj usługi Azure Container Instances, aby łatwo i szybko uruchamiać bezserwerowe kontenery Docker na platformie Azure. Wdróż na żądanie aplikację w wystąpieniu kontenera, gdy nie potrzebujesz pełnej platformy orkiestracji kontenerów, takiej jak usługa Azure Kubernetes Service. W tym przewodniku Szybki start użyjesz szablonu usługi Azure Resource Manager (szablonu arm), aby wdrożyć izolowany kontener platformy Docker i udostępnić aplikację internetową za pomocą publicznego adresu IP.
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Przegląd szablonu
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "15999594271314721416"
}
},
"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."
}
}
},
"resources": [
{
"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"
}
]
}
}
}
],
"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(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name')), '2023-05-01').ipAddress.ip]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
W szablonie zdefiniowano następujący zasób:
- Microsoft.ContainerInstance/containerGroups: utwórz grupę kontenerów platformy Azure. Ten szablon definiuje grupę składającą się z pojedynczego wystąpienia kontenera.
Więcej przykładów szablonów usługi Azure Container Instances można znaleźć w galerii szablonów szybkiego startu.
Wdrażanie szablonu
Wybierz poniższy obraz, aby zalogować się na platformie Azure i otworzyć szablon. Szablon tworzy rejestr i replikę w innej lokalizacji.
Wybierz lub wprowadź następujące wartości.
- Subskrypcja: wybierz subskrypcję platformy Azure.
- Grupa zasobów: wybierz pozycję Utwórz nową, wprowadź unikatową nazwę grupy zasobów, a następnie wybierz przycisk OK.
- Lokalizacja: wybierz lokalizację grupy zasobów. Przykład: Środkowe stany USA.
- Nazwa: zaakceptuj wygenerowaną nazwę wystąpienia lub wprowadź nazwę.
- Obraz: zaakceptuj domyślną nazwę obrazu. Ten przykładowy obraz systemu Linux pakuje małą aplikację internetową napisaną w Node.js, która obsługuje statyczną stronę HTML.
Zaakceptuj wartości domyślne pozostałych właściwości.
Przejrzyj warunki i postanowienia. Jeśli zgadzasz się, wybierz pozycję Zgadzam się na powyższe warunki i postanowienia.
Po pomyślnym utworzeniu wystąpienia otrzymasz powiadomienie:
Szablon jest wdrażany za pomocą witryny Azure Portal. Oprócz witryny Azure Portal można używać programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.
Przeglądanie wdrożonych zasobów
Użyj witryny Azure Portal lub narzędzia, takiego jak interfejs wiersza polecenia platformy Azure, aby przejrzeć właściwości wystąpienia kontenera.
W portalu wyszukaj pozycję Container Instances i wybierz utworzone wystąpienie kontenera.
Na stronie Przegląd zanotuj stan wystąpienia i jego adres IP.
Gdy jego stan to Uruchomiono, przejdź do adresu IP w przeglądarce.
Wyświetlanie dzienników kontenerów
W przypadku rozwiązywania problemów z kontenerem lub uruchomioną w nim aplikacją przydatne jest przeglądanie dzienników wystąpienia kontenera.
Aby wyświetlić dzienniki kontenera, w obszarze Ustawienia wybierz pozycję Dzienniki kontenerów>. Powinno pojawić się żądanie HTTP GET generowane podczas wyświetlania aplikacji w przeglądarce.
Czyszczenie zasobów
Po zakończeniu pracy z kontenerem na stronie Przegląd wystąpienia kontenera wybierz pozycję Usuń. Po wyświetleniu monitu potwierdź usunięcie.
Następne kroki
W tym przewodniku Szybki start utworzono wystąpienie kontenera platformy Azure na podstawie publicznego obrazu firmy Microsoft. Jeśli chcesz skompilować obraz kontenera i wdrożyć go za pomocą prywatnej usługi Azure Container Registry, przejdź do samouczka dotyczącego usługi Azure Container Instances.
Aby zapoznać się z samouczkiem krok po kroku, który przeprowadzi Cię przez proces tworzenia szablonu, zobacz: