Szybki Start: Wdrażanie wystąpienia kontenera na platformie Azure przy użyciu interfejsu wiersza polecenia platformy AzureQuickstart: Deploy a container instance in Azure using the Azure CLI

Używanie Azure Container Instances do uruchamiania kontenerów platformy Docker bez serwera na platformie Azure z prostotą i szybkością.Use Azure Container Instances to run serverless Docker containers in Azure with simplicity and speed. Wdróż aplikację w wystąpieniu kontenera na żądanie, gdy nie potrzebujesz pełnej platformy aranżacji kontenerów, takiej jak usługa Azure Kubernetes.Deploy an application to a container instance on-demand when you don't need a full container orchestration platform like Azure Kubernetes Service.

W tym przewodniku szybki start użyjesz interfejsu wiersza polecenia platformy Azure, aby wdrożyć izolowany kontener platformy Docker i udostępnić swoją aplikację za pomocą w pełni kwalifikowanej nazwy domeny (FQDN).In this quickstart, you use the Azure CLI to deploy an isolated Docker container and make its application available with a fully qualified domain name (FQDN). Kilka sekund po wykonaniu jednego polecenia wdrożenia można przejść do aplikacji działającej w kontenerze:A few seconds after you execute a single deployment command, you can browse to the application running in the container:

Wyświetlanie aplikacji wdrożonej do Azure Container Instances w przeglądarce

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.If you don't have an Azure subscription, create a free account before you begin.

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Platforma Azure obsługuje Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać bash lub PowerShell z Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Możesz użyć wstępnie zainstalowanych poleceń Cloud Shell, aby uruchomić kod w tym artykule bez konieczności instalowania niczego w środowisku lokalnym.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby rozpocząć Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie przycisku Wypróbuj nie powoduje automatycznego skopiowania kodu do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład try dla Azure Cloud Shell
Przejdź do https://shell.azure.comlub wybierz przycisk Uruchom Cloud Shell , aby otworzyć Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. uruchamiania Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell w prawym górnym pasku menu w Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod w tym artykule w Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Rozpocznij Cloud Shell.Start Cloud Shell.

  2. Aby skopiować kod, wybierz przycisk Kopiuj w bloku kodu.Select the Copy button on a code block to copy the code.

  3. Wklej kod do sesji Cloud Shell, wybierając kolejno pozycje Ctrl+SHIFT+v w systemach Windows i Linux lub wybierając polecenie cmd+SHIFT+v w macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Wybierz klawisz ENTER , aby uruchomić kod.Select Enter to run the code.

Podczas pracy z tym przewodnikiem Szybki start możesz użyć usługi Azure Cloud Shell lub lokalnej instalacji interfejsu wiersza polecenia platformy Azure.You can use the Azure Cloud Shell or a local installation of the Azure CLI to complete this quickstart. Jeśli chcesz używać go lokalnie, zalecana jest wersja 2.0.55 lub nowsza.If you'd like to use it locally, version 2.0.55 or later is recommended. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana.Run az --version to find the version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.If you need to install or upgrade, see Install Azure CLI.

Utwórz grupę zasobówCreate a resource group

Wystąpienia kontenerów platformy Azure, tak jak wszystkie zasoby platformy Azure, muszą zostać wdrożone w grupie zasobów.Azure container instances, like all Azure resources, must be deployed into a resource group. Grupy zasobów umożliwiają organizowanie powiązanych zasobów platformy Azure i zarządzanie nimi.Resource groups allow you to organize and manage related Azure resources.

Najpierw utwórz grupę zasobów o nazwie Moja zasobów w lokalizacji Wschodnie przy użyciu następującego polecenia AZ Group Create :First, create a resource group named myResourceGroup in the eastus location with the following az group create command:

az group create --name myResourceGroup --location eastus

Tworzenie konteneraCreate a container

Teraz, gdy masz już grupę zasobów, możesz uruchomić kontener na platformie Azure.Now that you have a resource group, you can run a container in Azure. Aby utworzyć wystąpienie kontenera za pomocą interfejsu wiersza polecenia platformy Azure, podaj nazwę grupy zasobów, nazwę wystąpienia kontenera i obraz kontenera Docker do polecenia AZ Container Create .To create a container instance with the Azure CLI, provide a resource group name, container instance name, and Docker container image to the az container create command. W tym przewodniku szybki start użyjesz publicznego obrazu mcr.microsoft.com/azuredocs/aci-helloworld.In this quickstart, you use the public mcr.microsoft.com/azuredocs/aci-helloworld image. Ten obraz zawiera małą aplikację internetową napisaną w języku Node.js, która udostępnia statyczną stronę HTML.This image packages a small web app written in Node.js that serves a static HTML page.

Możesz uwidocznić swoje kontenery w Internecie, określając co najmniej jeden port do otworzenia, etykietę nazwy DNS lub obie te informacje.You can expose your containers to the internet by specifying one or more ports to open, a DNS name label, or both. W tym przewodniku Szybki start wdrożysz kontener z etykietą nazwy DNS, aby skonfigurować tę aplikację internetową jako publicznie dostępną.In this quickstart, you deploy a container with a DNS name label so that the web app is publicly reachable.

Wykonaj polecenie podobne do poniższego, aby uruchomić wystąpienie kontenera.Execute a command similar to the following to start a container instance. Ustaw wartość --dns-name-label, która jest unikatowa w regionie platformy Azure, w którym tworzysz wystąpienie.Set a --dns-name-label value that's unique within the Azure region where you create the instance. Jeśli zostanie wyświetlony komunikat o błędzie „Etykieta nazwy DNS nie jest dostępna”, spróbuj użyć innej etykiety nazwy DNS.If you receive a "DNS name label not available" error message, try a different DNS name label.

az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80

W ciągu kilku sekund powinna pojawić się odpowiedź z interfejsu wiersza polecenia platformy Azure, wskazująca ukończenie wdrażania.Within a few seconds, you should get a response from the Azure CLI indicating that the deployment has completed. Sprawdź swój stan za pomocą polecenia AZ Container show :Check its status with the az container show command:

az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table

Po uruchomieniu polecenia zostanie wyświetlona w pełni kwalifikowana nazwa domeny (FQDN) kontenera i stan jego aprowizacji.When you run the command, the container's fully qualified domain name (FQDN) and its provisioning state are displayed.

$ az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
FQDN                               ProvisioningState
---------------------------------  -------------------
aci-demo.eastus.azurecontainer.io  Succeeded

Jeśli @no__t kontenera zakończyło się pomyślnie, przejdź do jego nazwy FQDN w przeglądarce.If the container's ProvisioningState is Succeeded, go to its FQDN in your browser. Jeśli zostanie wyświetlona strona internetowa podobna do poniższej — gratulacje!If you see a web page similar to the following, congratulations! Aplikacja działającą w kontenerze Docker została pomyślne wdrożona na platformie Azure.You've successfully deployed an application running in a Docker container to Azure.

Wyświetlanie aplikacji wdrożonej do Azure Container Instances w przeglądarce

Jeśli początkowo aplikacja nie jest widoczna, być może trzeba poczekać kilka sekund na zakończenie propagowania systemu DNS, a następnie spróbować odświeżyć stronę przeglądarki.If at first the application isn't displayed, you might need to wait a few seconds while DNS propagates, then try refreshing your browser.

Ściąganie dzienników konteneraPull the container logs

Jeśli trzeba rozwiązać problem z kontenerem lub z uruchomioną na nim aplikacją (lub po prostu wyświetlić dane wyjściowe), zacznij od wyświetlenia dzienników wystąpienia kontenera.When you need to troubleshoot a container or the application it runs (or just see its output), start by viewing the container instance's logs.

Pobierz dzienniki wystąpienia kontenera za pomocą polecenia AZ Container Logs :Pull the container instance logs with the az container logs command:

az container logs --resource-group myResourceGroup --name mycontainer

W dziennikach kontenera powinny być widoczne żądania HTTP GET utworzone podczas przeglądania aplikacji w przeglądarce.The output displays the logs for the container, and should show the HTTP GET requests generated when you viewed the application in your browser.

$ az container logs --resource-group myResourceGroup --name mycontainer
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Dołączanie strumieni wyjściowychAttach output streams

Oprócz wyświetlenia dzienników można dołączyć lokalne strumienie Standardowe wyjście i Błąd standardowy do ich odpowiedników należących do kontenera.In addition to viewing the logs, you can attach your local standard out and standard error streams to that of the container.

Najpierw uruchom polecenie AZ Container Attach , aby dołączyć konsolę lokalną do strumieni wyjściowych kontenera:First, execute the az container attach command to attach your local console to the container's output streams:

az container attach --resource-group myResourceGroup --name mycontainer

Po jej dołączeniu odśwież kilka razy przeglądarkę, aby wygenerować trochę dodatkowych danych wyjściowych.Once attached, refresh your browser a few times to generate some additional output. Po zakończeniu odłącz swoją konsolę kombinacją klawiszy Control+C.When you're done, detach your console with Control+C. Powinny zostać wyświetlone dane wyjściowe podobne do następujących:You should see output similar to the following:

$ az container attach --resource-group myResourceGroup --name mycontainer
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container

Start streaming logs:
listening on port 80

::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:47:01 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.56 - - [21/Mar/2019:17:47:12 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Oczyszczanie zasobówClean up resources

Po zakończeniu pracy z kontenerem usuń go przy użyciu polecenia AZ Container Delete :When you're done with the container, remove it using the az container delete command:

az container delete --resource-group myResourceGroup --name mycontainer

Aby się upewnić, że kontener został usunięty, uruchom polecenie az container list:To verify that the container has been deleted, execute the az container list command:

az container list --resource-group myResourceGroup --output table

W danych wyjściowych polecenia nie powinien pojawić się kontener mycontainer.The mycontainer container should not appear in the command's output. Jeśli nie ma innych kontenerów w grupie zasobów, nie powinny zostać wyświetlone żadne dane wyjściowe.If you have no other containers in the resource group, no output is displayed.

Jeśli skończysz z grupą zasobów i wszystkie zawarte w niej zasoby, usuń je za pomocą polecenia AZ Group Delete :If you're done with the myResourceGroup resource group and all the resources it contains, delete it with the az group delete command:

az group delete --name myResourceGroup

Następne krokiNext steps

W tym przewodniku szybki start utworzono wystąpienie kontenera platformy Azure przy użyciu publicznego obrazu firmy Microsoft.In this quickstart, you created an Azure container instance by using a public Microsoft image. 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.If you'd like to build a container image and deploy it from a private Azure container registry, continue to the Azure Container Instances tutorial.

Aby wypróbować opcje uruchamiania kontenerów w systemie aranżacji na platformie Azure, zobacz Przewodniki Szybki Start dotyczący usługi Azure Kubernetes Service (AKS) .To try out options for running containers in an orchestration system on Azure, see the Azure Kubernetes Service (AKS) quickstarts.