Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj usługi Azure Container Instances, aby łatwo i szybko uruchamiać bezserwerowe kontenery Docker na platformie Azure. Wdrażaj aplikację na żądanie w instancji kontenera, gdy nie potrzebujesz pełnej platformy orkiestracji kontenerów, np. usługi Azure Kubernetes Service. W tym przewodniku "Szybki start" użyjesz szablonu Azure Resource Manager (szablonu ARM), aby wdrożyć izolowany kontener Docker i udostępnić jego 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. Szablon używa składni deklaratywnej. 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żyty w tym szybkim starcie pochodzi z szablonów szybkiego startu platformy 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')]"
}
}
}
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 pojedynczej instancji kontenera.
Więcej przykładów szablonów usługi Azure Container Instances można znaleźć w galerii szablonów szybkiego startu.
Aby wdrożyć grupę kontenerów w określonej strefie dostępności, ustaw wartość parametru zone na logiczną strefę dostępności, do której chcesz wdrożyć.
Ważne
Wdrożenia strefowe są dostępne tylko w regionach, które obsługują strefy dostępności. Aby sprawdzić, czy region obsługuje strefy dostępności, zobacz Lista regionów platformy Azure.
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 zawiera małą aplikację webową napisaną w Node.js, która udostępnia statyczną stronę HTML.
Zaakceptuj wartości domyślne pozostałych właściwości.
Przejrzyj warunki i postanowienia. Jeśli wyrazisz zgodę, wybierz pozycję Wyrażam zgodę na powyższe warunki i postanowienia.
Po pomyślnym utworzeniu wystąpienia powiadomienie otrzymasz:
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 Azure portal lub narzędzia takiego jak Azure CLI, aby przejrzeć właściwości wystąpienia kontenera.
W portalu wyszukaj "Container Instances" i wybierz utworzone wystąpienie kontenera.
Na stronie Przegląd zanotuj stan wystąpienia i jego adres IP.
Kiedy jego status to Działający, 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ę . 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 Usuń. Po wyświetleniu monitu potwierdź usunięcie.
Następne kroki
W tym szybkim rozpoczęciu utworzono wystąpienie kontenera platformy Azure z publicznego obrazu Microsoftu. 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: