Dela via


Självstudie: Skapa och distribuera din app till Azure Container Apps

Den här artikeln visar hur du skapar och distribuerar en mikrotjänst till Azure Container Apps från en källlagringsplats med det programmeringsspråk du föredrar.

Det här är den första självstudien i serien med artiklar som beskriver hur du använder kärnfunktioner i Azure Container Apps. Det första steget är att skapa en webb-API-tjänst för serverdelen som returnerar en statisk samling musikalbum.

Kommentar

Du kan också skapa och distribuera den här appen med hjälp av az containerapp up genom att följa anvisningarna i artikeln Snabbstart: Skapa och distribuera en app till Azure Container Apps från en lagringsplats . Kommandot az containerapp up är ett snabbt och bekvämt sätt att skapa och distribuera din app till Azure Container Apps med ett enda kommando. Den tillhandahåller dock inte samma anpassningsnivå för din containerapp.

Nästa självstudie i serien kommer att skapa och distribuera klientdelswebbappen till Azure Container Apps.

Följande skärmbild visar utdata från album-API:et som distribueras i den här självstudien.

Skärmbild av svar från api-slutpunkten för album.

Förutsättningar

För att slutföra det här projektet behöver du följande:

Krav Instruktioner
Azure-konto Om du inte har något skapar du ett konto kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna fortsätta.

Mer information finns i Tilldela Azure-roller med hjälp av Azure-portalen.
GitHub-konto Registrera dig kostnadsfritt.
git Installera git
Azure CLI Installera Azure CLI.
Krav Instruktioner
Azure-konto Om du inte har något skapar du ett konto kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna fortsätta. Mer information finns i Tilldela Azure-roller med hjälp av Azure-portalen.
GitHub-konto Registrera dig kostnadsfritt.
git Installera git
Azure CLI Installera Azure CLI.
Docker Desktop Docker tillhandahåller installationsprogram som konfigurerar Docker-miljön på macOS, Windows och Linux.

Från kommandotolken skriver du docker för att se till att Docker körs.

Ställ in

Om du vill logga in på Azure från CLI kör du följande kommando och följer anvisningarna för att slutföra autentiseringsprocessen.

az login

Kör uppgraderingskommandot för att säkerställa att du kör den senaste versionen av CLI.

az upgrade

Installera eller uppdatera sedan Azure Container Apps-tillägget för CLI.

Om du får fel om saknade parametrar när du kör az containerapp kommandon i Azure CLI eller cmdletar från modulen Az.App i Azure PowerShell kontrollerar du att den senaste versionen av Azure Container Apps-tillägget är installerad.

az extension add --name containerapp --upgrade

Kommentar

Från och med maj 2024 aktiverar Azure CLI-tillägg inte längre förhandsversionsfunktioner som standard. Om du vill komma åt förhandsversionsfunktioner för Container Apps installerar du containerapptillägget med --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Nu när det aktuella tillägget eller modulen har installerats registrerar du Microsoft.App namnrymderna och Microsoft.OperationalInsights .

Kommentar

Azure Container Apps-resurser har migrerats från Microsoft.Web namnområdet till Microsoft.App namnområdet. Mer information finns i Namnområdesmigrering från Microsoft.Web till Microsoft.App i mars 2022.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Skapa miljövariabler

Nu när azure CLI-installationen är klar kan du definiera de miljövariabler som används i hela den här artikeln.

Definiera följande variabler i bash-gränssnittet.

RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Innan du kör det här kommandot måste du ersätta <YOUR_GITHUB_USERNAME> med ditt GitHub-användarnamn.

Definiera sedan ett containerregisternamn som är unikt för dig.

ACR_NAME="acaalbums"$GITHUB_USERNAME

Förbereda GitHub-lagringsplatsen

Navigera till lagringsplatsen för önskat språk och förgrena lagringsplatsen.

Välj knappen Förgrening överst på albumets API-lagringsplats för att förgrena lagringsplatsen till ditt konto.

Nu kan du klona din förgrening av exempellagringsplatsen.

Använd följande git-kommando för att klona din förgrenade lagringsplats till mappen code-to-cloud :

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud

Ändra sedan katalogen till roten för den klonade lagringsplatsen.

cd code-to-cloud/src

Skapa en Azure-resursgrupp

Skapa en resursgrupp för att organisera de tjänster som är relaterade till distributionen av containerappen.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Skapa ett Azure Container Registry

När album-API-containeravbildningen har skapats skapar du en Azure Container Registry-instans (ACR) i resursgruppen för att lagra den.

az acr create \
  --resource-group $RESOURCE_GROUP \
  --name $ACR_NAME \
  --sku Basic \
  --admin-enabled true

Skapa ditt program

Med ACR-uppgifter kan du skapa och push-överföra docker-avbildningen för album-API:et utan att installera Docker lokalt.

Skapa containern med ACR

Kör följande kommando för att initiera avbildningsversionen och push-processen med hjälp av ACR. I . slutet av kommandot representerar docker build-kontexten, vilket innebär att det här kommandot ska köras i mappen src där Dockerfile finns.

az acr build --registry $ACR_NAME --image $API_NAME .

Utdata från az acr build kommandot visar källkodens uppladdningsstatus till Azure och information om docker build åtgärderna och docker push .

Skapa ditt program

Följande steg visar hur du skapar containeravbildningen lokalt med Docker och push-överför avbildningen till det nya containerregistret.

Skapa containern med Docker

Följande kommando skapar en containeravbildning för album-API:et och taggar den med det fullständigt kvalificerade namnet på ACR-inloggningsservern. I . slutet av kommandot representerar docker build-kontexten, vilket innebär att det här kommandot ska köras i mappen src där Dockerfile finns.

docker build --tag $ACR_NAME.azurecr.io/$API_NAME .

Skicka avbildningen till containerregistret

Logga först in på Azure Container Registry.

az acr login --name $ACR_NAME

Skicka avbildningen till registret.

docker push $ACR_NAME.azurecr.io/$API_NAME

Skapa en Container Apps-miljö

Azure Container Apps-miljön fungerar som en säker gräns runt en grupp containerappar.

Skapa Container Apps-miljön med hjälp av följande kommando.

az containerapp env create \
  --name $ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Distribuera avbildningen till en containerapp

Nu när du har skapat en miljö kan du skapa och distribuera containerappen az containerapp create med kommandot .

Skapa och distribuera containerappen med följande kommando.

az containerapp create \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $ENVIRONMENT \
  --image $ACR_NAME.azurecr.io/$API_NAME \
  --target-port 8080 \
  --ingress external \
  --registry-server $ACR_NAME.azurecr.io \
  --query properties.configuration.ingress.fqdn
  • Genom att ange --ingress till externalär containerappen tillgänglig från det offentliga Internet.

  • target-port Är inställd på att 8080 matcha den port som containern lyssnar på efter begäranden.

  • Utan en query egenskap returnerar anropet till az containerapp create ett JSON-svar som innehåller en omfattande uppsättning information om programmet. Om du lägger till en frågeparameter filtreras utdata till bara appens fullständigt kvalificerade domännamn (FQDN).

Verifiera distributionen

Kopiera FQDN till en webbläsare. Från webbläsaren navigerar du till /albums slutpunkten för det fullständiga domännamnet.

Skärmbild av svar från api-slutpunkten för album.

Rensa resurser

Om du inte ska fortsätta med självstudien Kommunikation mellan mikrotjänster kan du ta bort de Azure-resurser som skapades under den här snabbstarten. Kör följande kommando för att ta bort resursgruppen tillsammans med alla resurser som skapats i den här snabbstarten.

az group delete --name $RESOURCE_GROUP

Dricks

Har du problem? Meddela oss på GitHub genom att öppna ett problem i Azure Container Apps-lagringsplatsen.

Nästa steg

Den här snabbstarten är startpunkten för en uppsättning progressiva självstudier som visar de olika funktionerna i Azure Container Apps. Fortsätt om du vill lära dig hur du aktiverar kommunikation från en webbklientdel som anropar API:et som du distribuerade i den här artikeln.