Självstudie: Skicka en uppdaterad containeravbildning till ett geo-replikerat containerregister för regionala webbappsdistributioner
Det här är del tre i en serie självstudier i tre delar. I den föregående kursen konfigurerades geo-replikering för två olika regionala Web App-distributioner. I den här självstudiekursen modifierar du först programmet, skapar sedan en ny containeravbildning och push-överför den till ditt geo-replikerade register. Slutligen visar du ändringen, som distribuerats automatiskt med Azure Container Registry-webhookar i båda Web App-instanserna.
Den här självstudiekursen är den avslutande delen i serien:
- Göra ändringar i webbprogrammets HTML
- Skapa och tagga Docker-avbildningen
- Push-överför ändringen till Azure Container Registry
- Visa den uppdaterade appen i två olika regioner
Om du ännu inte har konfigurerat de två regionala distributionerna av Web App for Containers, så gå tillbaka till den föregående självstudiekursen i serien, Distribuera webbapp från Azure Container Registry.
Göra ändringar i webbprogrammet
I det här steget gör du ändringar i webbprogrammet så att det blir mycket synligare när du har push-överfört den uppdaterade behållaravbildningen till Azure Container Registry.
Sök efter AcrHelloworld/Views/Home/Index.cshtml
-filen i den programkälla som du har klonat från GitHub i en tidigare självstudiekurs och öppna den i valfritt redigeringsprogram. Lägg till följande rad under den befintliga <h1>
-raden:
<h1>MODIFIED</h1>
Den ändrade Index.cshtml
bör se ut ungefär så här:
@{
ViewData["Title"] = "Azure Container Registry :: Geo-replication";
}
<style>
body {
background-image: url('images/azure-regions.png');
background-size: cover;
}
.footer {
position: fixed;
bottom: 0px;
width: 100%;
}
</style>
<h1 style="text-align:center;color:blue">Hello World from: @ViewData["REGION"]</h1>
<h1>MODIFIED</h1>
<div class="footer">
<ul>
<li>Registry URL: @ViewData["REGISTRYURL"]</li>
<li>Registry IP: @ViewData["REGISTRYIP"]</li>
<li>Registry Region: @ViewData["REGION"]</li>
</ul>
</div>
Återskapa avbildningen
Nu när du har uppdaterat webbprogrammet återskapa dess containeravbildning. Som tidigare, använd det fullständiga avbildningsnamnet, inklusive inloggningsserverns fullständigt kvalificerade domännamn (FQDN) för taggen:
docker build . -f ./AcrHelloworld/Dockerfile -t <acrName>.azurecr.io/acr-helloworld:v1
Push-överför avbildningen till Azure Container Registry
Push-överför sedan den uppdaterade containeravbildningen acr-helloworld till ditt geo-replikerade register. Här utför du ett enda docker push
-kommando för att distribuera den uppdaterade avbildningen till registerreplikerna i båda regionerna USA, västra och USA, östra.
docker push <acrName>.azurecr.io/acr-helloworld:v1
Ditt docker push
-resultat bör likna följande:
$ docker push uniqueregistryname.azurecr.io/acr-helloworld:v1
The push refers to a repository [uniqueregistryname.azurecr.io/acr-helloworld]
5b9454e91555: Pushed
d6803756744a: Layer already exists
b7b1f3a15779: Layer already exists
a89567dff12d: Layer already exists
59c7b561ff56: Layer already exists
9a2f9413d9e4: Layer already exists
a75caa09eb1f: Layer already exists
v1: digest: sha256:4c3f2211569346fbe2d1006c18cbea2a4a9dcc1eb3a078608cef70d3a186ec7a size: 1792
Visa webhook-loggarna
Du kan se hur Azure Container Registry-webhookarna utlöses när avbildningen replikeras.
Om du vill se de regionala webhookar som skapades när du distribuerade behållaren till Web App for Containers i en tidigare självstudiekurs, så gå till ditt behållarregister i Azure Portal och välj sedan Webhooks under TJÄNSTER.
Markera varje webhook om du vill se historiken för dess anrop och svar. Du bör se en rad för push-åtgärden i loggarna för båda webhookarna. Här visar loggen för webhooken i regionen USA, västra den push-åtgärd som utlöstes av docker push
i det föregående steget:
Visa den uppdaterade webbappen
Webhookarna meddelar Web Apps att en ny avbildning har push-överförts till registret, vilket automatiskt distribuerar den uppdaterade containern till de två regionala webbapparna.
Verifiera att programmet har uppdaterats i båda distributionerna genom att gå till båda de regionala Web App-distributionerna i webbläsaren. Som en påminnelse finns URL:en för den distribuerade webbappen högst upp till höger på varje App Service-översiktsflik.
Om du vill se det uppdaterade programmet, så välj länken i App Service-översikten. Här är en exempelvy av appen som körs i USA, västra:
Verifiera att den uppdaterade containeravbildningen också distribueras till distributionen USA, östra genom att visa den i webbläsaren.
Med en enda docker push
, har du automatiskt uppdaterat webbprogrammet som körs i båda de regionala Web App-distributionerna. Och Azure Container Registry hanterat behållaravbildningar från de databaser som ligger närmast varje distribution.
Nästa steg
I den här självstudiekursen har du uppdaterat och push-överfört en ny version av webbprogramscontainern till ditt geo-replikerade register. Webhooks i Azure Container Registry meddelade Web Apps for Containers om uppdateringen, vilken utlöste en lokal hämtning från de närmsta registerreplikerna.
ACR Build: Automatisk skapande av avbildning och korrigering
Förutom geo-replikering är ACR Build en annan funktion i Azure Container Registry som kan hjälpa dig att optimera din distributionspipeline för behållare. Börja med ACR Build-översikten om du vill få en uppfattning om dess funktioner:
Automatisera korrigering av operativsystem och ramverk med ACR Build