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. Za pomocą tego pojedynczego polecenia możesz mieć uruchomioną i uruchomioną aplikację kontenera w ciągu kilku minut.
Polecenie az containerapp up
to usprawniony sposób tworzenia i wdrażania aplikacji kontenera, które korzystają głównie z ustawień domyślnych. Należy jednak uruchomić inne polecenia interfejsu wiersza polecenia, aby skonfigurować bardziej zaawansowane ustawienia:
- Dapr:
az containerapp dapr enable
- Tajemnice:
az containerapp secret set
- Protokoły transportu:
az containerapp ingress update
Aby dostosować zasób lub ustawienia skalowania aplikacji kontenera, możesz użyć up
polecenia , a następnie az containerapp update
polecenia , aby zmienić te ustawienia. Polecenie az containerapp up
nie jest skrótem az containerapp update
polecenia.
Polecenie up
może utworzyć lub użyć istniejących zasobów, w tym:
- Grupa zasobów
- Azure Container Registry
- Środowisko usługi Container Apps i obszar roboczy usługi Log Analytics
- Aplikacja kontenera
Polecenie może kompilować i wypychać obraz kontenera do usługi Azure Container Registry (ACR) po podaniu lokalnego kodu źródłowego lub repozytorium GitHub. Podczas pracy z repozytorium GitHub tworzy on przepływ pracy funkcji GitHub Actions, który automatycznie kompiluje i wypycha nowy obraz kontenera podczas zatwierdzania zmian w repozytorium GitHub.
Jeśli musisz dostosować środowisko usługi Container Apps, najpierw utwórz środowisko przy użyciu az containerapp env create
polecenia . Jeśli nie udostępnisz istniejącego środowiska, up
polecenie wyszukuje je w grupie zasobów i, jeśli zostanie znalezione, użyje tego środowiska. Jeśli nie zostanie znalezione, tworzy środowisko z obszarem roboczym usługi Log Analytics.
Aby dowiedzieć się więcej o poleceniu az containerapp up
i jego opcjach, zobacz az containerapp up
.
Wymagania wstępne
Wymaganie | Instrukcje |
---|---|
Konto platformy Azure | Jeśli go nie masz, utwórz bezpłatne konto. Aby kontynuować, musisz mieć uprawnienie Współautor lub Właściciel w subskrypcji platformy Azure. Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal . |
Konto usługi GitHub | Jeśli używasz repozytorium GitHub, zarejestruj się bezpłatnie. |
Interfejs wiersza polecenia platformy Azure | Zainstaluj interfejs wiersza polecenia platformy Azure. |
Lokalny kod źródłowy | Jeśli używasz lokalnego kodu źródłowego, musisz mieć lokalny katalog kodu źródłowego. |
Istniejący obraz | Jeśli używasz istniejącego obrazu, potrzebujesz serwera rejestru, nazwy obrazu i tagu. Jeśli używasz rejestru prywatnego, potrzebujesz poświadczeń. |
Konfiguruj
Zaloguj się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
az login
Następnie zainstaluj rozszerzenie Azure Container Apps dla interfejsu wiersza polecenia.
az extension add --name containerapp --upgrade
Po zainstalowaniu bieżącego rozszerzenia lub modułu
Microsoft.App
zarejestruj przestrzeń nazw.az provider register --namespace Microsoft.App
Zarejestruj dostawcę
Microsoft.OperationalInsights
obszaru roboczego usługi Log Analytics usługi Azure Monitor.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. Jeśli wdrażasz z rejestru prywatnego, musisz podać poświadczenia przy użyciu --registry-server
opcji , --registry-username
i --registry-password
.
W tym przykładzie az containerapp up
polecenie wykonuje następujące akcje:
- Tworzy grupę zasobów.
- Tworzy środowisko i obszar roboczy usługi Log Analytics.
- Tworzy i wdraża aplikację kontenera, która ściąga obraz z rejestru publicznego.
- Ustawia ruch przychodzący aplikacji kontenera na zewnętrzny z portem docelowym ustawionym na określoną wartość.
Uruchom następujące polecenie, aby wdrożyć aplikację kontenera na podstawie istniejącego obrazu. Zastąp <symbole> ZASTĘPCZE wartościami.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
Możesz 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 te same wartości co oryginalne wdrożenie.
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. Tworzy rejestr w usłudze Azure Container Registry, jeśli go nie podasz.
Polecenie może skompilować obraz z plikiem Dockerfile lub bez go. Jeśli kompilowanie bez pliku Dockerfile jest obsługiwane w następujących językach:
- .NET
- Node.js
- PHP
- Python
W poniższym przykładzie pokazano, jak wdrożyć aplikację kontenera z lokalnego kodu źródłowego.
W tym przykładzie az containerapp up
polecenie wykonuje następujące akcje:
- Tworzy grupę zasobów.
- Tworzy środowisko i obszar roboczy usługi Log Analytics.
- Tworzy rejestr w usłudze Azure Container Registry.
- Kompiluje obraz kontenera (przy użyciu pliku Dockerfile, jeśli istnieje).
- Wypycha obraz do rejestru.
- Tworzy i wdraża aplikację kontenera.
Uruchom następujące polecenie, aby wdrożyć aplikację kontenera z lokalnego kodu źródłowego:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Gdy plik Dockerfile zawiera instrukcję EXPOSE, up
polecenie konfiguruje ruch przychodzący aplikacji kontenera i port docelowy 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 wystąpi błąd, możesz ponownie uruchomić polecenie z opcją --debug
, aby uzyskać więcej informacji na temat błędu. 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 , aby ponownie wdrożyć aplikację kontenera przy użyciu az containerapp up
zaktualizowanego obrazu, dołącz --resource-group
argumenty i --environment
. W poniższym przykładzie pokazano, jak ponownie wdrożyć aplikację kontenera z lokalnego kodu źródłowego.
Wprowadź zmiany w kodzie źródłowym.
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. Polecenie tworzy rejestr w usłudze Azure Container Registry, jeśli go nie podasz.
Do utworzenia obrazu jest wymagany plik Dockerfile. Gdy plik Dockerfile zawiera instrukcję EXPOSE, polecenie konfiguruje ruch przychodzący aplikacji kontenera i port docelowy przy użyciu informacji w pliku Dockerfile.
W poniższym przykładzie pokazano, jak wdrożyć aplikację kontenera z repozytorium GitHub.
W tym przykładzie az containerapp up
polecenie wykonuje następujące akcje:
- Tworzy grupę zasobów.
- Tworzy środowisko i obszar roboczy usługi Log Analytics.
- Tworzy rejestr w usłudze Azure Container Registry.
- Kompiluje obraz kontenera przy użyciu pliku Dockerfile.
- Wypycha obraz do rejestru.
- Tworzy i wdraża aplikację kontenera.
- 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.
Aby wdrożyć aplikację z repozytorium GitHub, uruchom następujące polecenie:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GitHub repository URL> \
--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ę.
up
Ponieważ polecenie tworzy przepływ pracy funkcji GitHub Actions, ponowne uruchomienie go w celu wdrożenia zmian na obrazie aplikacji ma niepożądany wpływ na tworzenie wielu przepływów pracy. Zamiast tego wypychaj zmiany do repozytorium GitHub, a przepływ pracy usługi GitHub automatycznie kompiluje i wdraża aplikację. Aby zmienić przepływ pracy, edytuj plik przepływu pracy w usłudze GitHub.