Udostępnij przez


Wdrażanie usługi Azure Container Apps za pomocą polecenia az containerapp up

Polecenie az containerapp up (lub up) to najszybszy sposób wdrażania aplikacji w usłudze Azure Container Apps z istniejącego obrazu, lokalnego kodu źródłowego lub repozytorium GitHub. Gdy używasz tego pojedynczego polecenia, możesz mieć uruchomioną aplikację kontenera w ciągu kilku minut.

Polecenie może budować i przesyłać obraz kontenerowy do Azure Container Registry, gdy dostarczysz lokalny kod źródłowy lub repozytorium GitHub. Podczas pracy z repozytorium GitHub polecenie tworzy przepływ pracy GitHub Actions, który automatycznie buduje i wypycha nowy obraz kontenera po zatwierdzeniu zmian w repozytorium GitHub.

W tym artykule pokazano, jak za pomocą polecenia wdrożyć aplikację kontenera z istniejącego obrazu, lokalnego kodu źródłowego i repozytorium GitHub.

Wymagania wstępne

Wymaganie Instrukcje
Konto platformy Azure Jeśli go nie masz, utwórz bezpłatne konto. Twoja subskrypcja platformy Azure musi mieć rolę Współautor lub Właściciel . Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Azure CLI Zainstaluj interfejs wiersza polecenia platformy Azure.
Konto usługi GitHub Jeśli chcesz użyć obrazu w repozytorium GitHub, utwórz bezpłatne konto usługi GitHub.
Lokalny kod źródłowy Jeśli chcesz utworzyć obraz z lokalnego kodu źródłowego, umieść kod w katalogu lokalnym.
Istniejący obraz Jeśli chcesz użyć istniejącego obrazu, zanotuj serwer rejestru, nazwę obrazu i tag. Jeśli używasz rejestru prywatnego, zanotuj również swoje poświadczenia.

Korzystanie z istniejących zasobów

Polecenie up może tworzyć zasoby lub używać istniejących, w tym:

  • Grupa zasobów.
  • Container Registry.
  • Środowisko usługi Container Apps i obszar roboczy usługi Log Analytics.
  • Aplikacja kontenera.

Jeśli musisz dostosować środowisko usługi Container Apps, najpierw użyj az containerapp env create polecenia , aby utworzyć i dostosować środowisko. Po uruchomieniu up polecenia użyj --environment opcji , aby określić dostosowane środowisko.

Jeśli nie określisz istniejącego środowiska, up polecenie wyszuka je w grupie zasobów. Jeśli polecenie znajdzie środowisko, używa tego środowiska. Jeśli polecenie nie znajdzie środowiska, tworzy nowe, które zawiera obszar roboczy usługi Log Analytics.

Aby uzyskać więcej informacji o poleceniu az containerapp up i jego opcjach, zobacz az containerapp up.

Konfigurowanie środowiska interfejsu wiersza polecenia platformy Azure

  1. Zaloguj się do Azure przy użyciu Azure CLI.

    az login
    
  2. Zainstaluj rozszerzenie Container Apps dla interfejsu wiersza polecenia platformy Azure.

    az extension add --name containerapp --upgrade
    
  3. Microsoft.App Zarejestruj przestrzeń nazw.

    az provider register --namespace Microsoft.App
    
  4. Zarejestruj dostawcę Microsoft.OperationalInsights obszaru roboczego usługi Log Analytics.

    az provider register --namespace Microsoft.OperationalInsights
    

Wdrażanie z istniejącego obrazu

Aplikację kontenera korzystającą z istniejącego obrazu można wdrożyć w publicznym lub prywatnym rejestrze kontenerów. W przypadku wdrożenia z rejestru prywatnego należy podać poświadczenia przy użyciu --registry-serveropcji , --registry-usernamei --registry-password .

Aby wdrożyć aplikację kontenera na podstawie istniejącego obrazu, możesz użyć następującego przykładowego kodu. Przed uruchomieniem polecenia zastąp wartości zastępcze, które są ujęte w nawiasy kątowe, swoimi wartościami.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

To polecenie wykonuje następujące akcje:

  1. Tworzy grupę zasobów.
  2. Tworzy środowisko i obszar roboczy usługi Log Analytics.
  3. Tworzy i wdraża aplikację kontenera, która ściąga obraz z rejestru publicznego.
  4. Ustawia dla aplikacji kontenera wartość ingress, z portem docelowym ustawionym na external.

Możesz również użyć up polecenia , aby ponownie wdrożyć aplikację kontenera. Jeśli chcesz ponownie wdrożyć nowy obraz, użyj --image opcji , aby określić nowy obraz. Upewnij się, że --resource-group opcje i --environment są ustawione na wartości z oryginalnego wdrożenia.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Wdrażanie z lokalnego kodu źródłowego

Gdy używasz up polecenia do wdrożenia z lokalnego źródła, kompiluje obraz kontenera, wypycha go do rejestru i wdraża aplikację kontenera. Jeśli nie określisz rejestru, polecenie utworzy je w usłudze Container Registry.

Polecenie może skompilować obraz z plikiem Dockerfile lub bez go. W kompilacjach, które nie korzystają z pliku Dockerfile, obsługiwane są następujące języki:

  • .NET
  • Node.js
  • PHP
  • Python

Aby wdrożyć aplikację kontenera z lokalnego kodu źródłowego, możesz użyć następującego przykładowego kodu:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

To polecenie wykonuje następujące akcje:

  1. Tworzy grupę zasobów.
  2. Tworzy środowisko i obszar roboczy usługi Log Analytics.
  3. Tworzy rejestr w usłudze Container Registry.
  4. Kompiluje obraz kontenera (przy użyciu pliku Dockerfile, jeśli istnieje).
  5. Wypycha obraz do rejestru.
  6. Tworzy i wdraża aplikację kontenera.

Gdy plik Dockerfile zawiera EXPOSE instrukcję, up polecenie konfiguruje wejście i port docelowy aplikacji kontenera przy użyciu informacji w pliku Dockerfile. Jeśli skonfigurujesz ruch przychodzący za pośrednictwem pliku Dockerfile lub aplikacja nie wymaga ruchu przychodzącego --ingress , możesz pominąć tę opcję.

Dane wyjściowe polecenia zawierają adres URL aplikacji kontenera.

Jeśli polecenie zgłasza, że czeka na agenta kompilacji w chmurze, ale przestaje odpowiadać, przyczyną problemu może być błąd przejściowy usługi GitHub. Aby rozwiązać ten problem, uruchom ponownie polecenie .

Jeśli wystąpi błąd, możesz ponownie uruchomić polecenie z opcją --debug , aby uzyskać więcej informacji. Jeśli kompilacja zakończy się niepowodzeniem bez pliku Dockerfile, możesz spróbować dodać plik Dockerfile i ponownie uruchomić polecenie.

Aby użyć polecenia az containerapp up do ponownego wdrożenia aplikacji kontenera ze zaktualizowanym obrazem, uwzględnij opcje --resource-group i --environment. Aby ponownie wdrożyć aplikację kontenera z lokalnego kodu źródłowego, wykonaj następujące kroki:

  1. Wprowadź zmiany w kodzie źródłowym.

  2. Uruchom następujące polecenie:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Wdrażanie z repozytorium GitHub

Gdy używasz az containerapp up polecenia do wdrożenia z repozytorium GitHub, generuje on przepływ pracy funkcji GitHub Actions, który kompiluje obraz kontenera, wypycha go do rejestru i wdraża aplikację kontenera. Jeśli nie określisz rejestru, polecenie utworzy je w usłudze Container Registry.

Do utworzenia obrazu jest wymagany plik Dockerfile. Gdy plik Dockerfile zawiera EXPOSE instrukcję, polecenie konfiguruje port wejściowy i docelowy aplikacji kontenera przy użyciu informacji w pliku Dockerfile.

Aby wdrożyć aplikację kontenera z repozytorium GitHub, możesz użyć następującego przykładowego kodu:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GITHUB_REPOSITORY_URL> \
  --ingress external 

To polecenie wykonuje następujące akcje:

  1. Tworzy grupę zasobów.
  2. Tworzy środowisko i obszar roboczy usługi Log Analytics.
  3. Tworzy rejestr w usłudze Container Registry.
  4. Kompiluje obraz kontenera przy użyciu pliku Dockerfile.
  5. Wypycha obraz do rejestru.
  6. Tworzy i wdraża aplikację kontenera.
  7. Tworzy przepływ pracy funkcji GitHub Actions w celu skompilowania obrazu kontenera i wdrożenia aplikacji kontenera po wypchnięciu przyszłych zmian do repozytorium GitHub.

Jeśli polecenie zakończy się niepowodzeniem, ponieważ nie można utworzyć jednostki usługi, możesz ręcznie utworzyć jednostkę usługi na platformie Azure. Następnie możesz przekazać informacje o nim do polecenia :

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GITHUB_REPOSITORY_URL> \
  --service-principal-client-id "$SERVICE_PRINCIPAL_CLIENT_ID" \
  --service-principal-client-secret "$SERVICE_PRINCIPAL_CLIENT_SECRET" \
  --service-principal-tenant-id "$AZURE_TENANT_ID"
  --ingress external 

Jeśli skonfigurujesz ruch przychodzący za pośrednictwem pliku Dockerfile lub aplikacja nie wymaga ruchu przychodzącego --ingress , możesz pominąć tę opcję.

Polecenie up tworzy przepływ pracy funkcji GitHub Actions. W związku z tym ponowne uruchomienie polecenia ma niepożądany wpływ na tworzenie wielu przepływów pracy. Jeśli chcesz wdrożyć zmiany na obrazie aplikacji, wypchnij zmiany do repozytorium GitHub zamiast ponownego uruchamiania polecenia. Przepływ pracy usługi GitHub automatycznie wykrywa zmiany w repozytorium, a następnie kompiluje i wdraża aplikację. Aby zmienić przepływ pracy, edytuj plik przepływu pracy w usłudze GitHub.

Konfigurowanie ustawień aplikacji kontenera

Polecenie az containerapp up zapewnia usprawniony sposób tworzenia i wdrażania aplikacji kontenera, które korzystają głównie z ustawień domyślnych. Jednak po użyciu polecenia należy uruchomić inne polecenia interfejsu up wiersza polecenia platformy Azure, takie jak następujące, jeśli chcesz skonfigurować bardziej zaawansowane ustawienia:

Jeśli chcesz dostosować inne ustawienia aplikacji kontenera, takie jak ustawienia zasobów lub skalowania, najpierw użyj up polecenia , aby wdrożyć aplikację kontenera. Następnie użyj polecenia , az containerapp update aby zmienić te ustawienia. Polecenie az containerapp up nie jest skrótem az containerapp update dla polecenia .

Następny krok