Samouczek: wdrażanie aplikacji kontenera w usłudze Azure Container Instances

To jest ostatni samouczek z serii składającej się z trzech części. Wcześniej w tej serii utworzono obraz kontenera i przekazano go do usługi Azure Container Registry. Ten artykuł stanowi zakończenie serii i dotyczy wdrażania kontenera w usłudze Azure Container Instances.

W tym samouczku zostały wykonane następujące czynności:

  • Wdrażanie kontenera z usługi Azure Container Registry do usługi Azure Container Instances
  • Wyświetlanie uruchomionej aplikacji w przeglądarce
  • Wyświetlanie dzienników kontenera

Zanim rozpoczniesz

Aby ukończyć ten samouczek, musisz spełniać następujące wymagania:

Interfejs wiersza polecenia platformy Azure: musisz mieć interfejs wiersza polecenia platformy Azure w wersji 2.0.29 lub nowszej zainstalowany na komputerze lokalnym. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie interfejsu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Docker: ten samouczek zakłada, że masz podstawową wiedzę na temat najważniejszych pojęć usługi Docker, takich jak kontenery, obrazy kontenera i podstawowe polecenia docker. Aby uzyskać podstawowe informacje na temat platformy Docker i kontenerów, zapoznaj się z artykułem Docker overview (Przegląd platformy Docker).

Docker: aby ukończyć ten samouczek, musisz zainstalować platformę Docker lokalnie. Platforma Docker udostępnia pakiety, które konfigurują środowisko platformy Docker w systemach macOS, Windows i Linux.

Ważne

Ponieważ usługa Azure Cloud Shell nie zawiera demona platformy Docker, w celu ukończenia tego samouczka musisz zainstalować na swoim komputerze lokalnym wiersz polecenia platformy Azure i aparat platformy Docker. W tym samouczku nie możesz korzystać z usługi Azure Cloud Shell.

Wdrażanie kontenera przy użyciu interfejsu wiersza polecenia platformy Azure

W tej sekcji używa się interfejsu wiersza polecenia platformy Azure do wdrożenia obrazu utworzonego w pierwszym samouczku oraz wypchniętego do usługi Azure Container Registry w drugim samouczku. Przed kontynuowaniem upewnij się, że zakończono te samouczki.

Pobieranie poświadczeń rejestru

Podczas wdrażania obrazu hostowanego w prywatnym rejestrze kontenerów platformy Azure, takiego jak ten utworzony w drugim samouczku, należy podać poświadczenia, aby uzyskać dostęp do rejestru.

Najlepszym rozwiązaniem dla wielu scenariuszy jest utworzenie i skonfigurowanie jednostki usługi Microsoft Entra z uprawnieniami ściągnięcia do rejestru. Zobacz Uwierzytelnianie za pomocą usługi Azure Container Registry z usługi Azure Container Instances , aby uzyskać przykładowe skrypty, aby utworzyć jednostkę usługi z niezbędnymi uprawnieniami. Zanotuj identyfikator jednostki usługi i hasło jednostki usługi. Te poświadczenia służą do uzyskiwania dostępu do rejestru podczas wdrażania kontenera.

Potrzebna jest również pełna nazwa serwera logowania rejestru kontenerów (element <acrName> należy zastąpić nazwą rejestru):

az acr show --name <acrName> --query loginServer

Wdrażanie kontenera

Teraz użyj polecenia az container create, aby wdrożyć kontener. Zastąp element <acrLoginServer> wartością uzyskaną przy użyciu poprzedniego polecenia. Zastąp elementy <service-principal-ID> i <service-principal-password> identyfikatorem jednostki usługi i hasłem jednostki usługi, które umożliwiają dostęp do rejestru. Zastąp element <aciDnsLabel> odpowiednią nazwą DNS.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

W ciągu kilku sekund powinna pojawić się początkowa odpowiedź z platformy Azure. Wartość --dns-name-label musi być unikatowa w regionie platformy Azure, w którym tworzysz wystąpienia kontenera. Zmodyfikuj wartość w poprzednim poleceniu, jeśli podczas wykonywania polecenia zostanie wyświetlony komunikat o błędzie etykiety nazwy DNS.

Sprawdzanie postępu wdrażania

Aby wyświetlić stan wdrożenia, użyj polecenia az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Powtarzaj polecenie az container show, aż stan zmieni się z Oczekujące na Uruchomiono. Powinno to potrwać krócej niż minutę. Jeśli kontener ma stan Uruchomiono, przejdź do następnego kroku.

Wyświetlanie dzienników aplikacji i kontenerów

Po pomyślnym wdrożeniu wyświetl w pełni kwalifikowaną nazwę domeny (FQDN) kontenera przy użyciu polecenia az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Na przykład:

"aci-demo.eastus.azurecontainer.io"

Aby wyświetlić działającą aplikację, przejdź do wyświetlonej nazwy DNS w ulubionej przeglądarce:

Aplikacja Hello World w przeglądarce

Możesz również wyświetlić dane wyjściowe dziennika kontenera:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Przykładowe wyjście:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych w tej serii samouczków, możesz wykonać polecenie az group delete, aby usunąć grupę zasobów i wszystkie należące do niej zasoby. To polecenie usuwa utworzony rejestr kontenerów, a także uruchomiony kontener i wszystkie powiązane zasoby.

az group delete --name myResourceGroup

Następne kroki

W tym samouczku ukończono proces wdrażania kontenera w usłudze Azure Container Instances. Wykonano następujące czynności:

  • Wdrożono kontener z usługi Azure Container Registry przy użyciu interfejsu wiersza polecenia platformy Azure
  • Wyświetlono aplikację w przeglądarce
  • Wyświetlono dzienniki kontenera

Teraz, gdy znasz już podstawy, przejdź do informacji na temat usługi Azure Container Instances, np. dotyczących działania grup kontenerów:

Grupy kontenerów w usłudze Azure Container Instances