Tutorial: Dorong gambar kontainer yang diperbarui ke registri kontainer geo-replikasi untuk penerapan aplikasi web regional

Ini adalah bagian ketiga dalam seri tutorial tiga bagian. Dalam tutorial sebelumnya,geo replikasi dikonfigurasi untuk dua penyebaran Web App regional yang berbeda. Dalam tutorial ini, Anda pertama-tama memodifikasi aplikasi, lalu membangun gambar kontainer baru dan mendorongnya ke registri geo-replikasi Anda. Terakhir, Anda melihat perubahan, yang diterapkan secara otomatis oleh webhook Azure Container Registry, di kedua instans Apl Web.

Dalam tutorial ini, bagian terakhir dalam seri:

  • Mengubah HTML aplikasi web
  • Membangun dan menandai gambar Docker
  • Mendorong perubahan ke Azure Container Registry
  • Melihat aplikasi yang diperbarui di dua wilayah berbeda

Jika Anda belum mengonfigurasi dua penerapan regional Web App untuk Kontainer, kembali ke tutorial sebelumnya dalam seri, Terapkan aplikasi web dari Azure Container Registry.

Mengubah aplikasi web

Dalam langkah ini, buat perubahan pada aplikasi web yang akan sangat terlihat setelah Anda mendorong gambar kontainer yang diperbarui ke Azure Container Registry.

Temukan AcrHelloworld/Views/Home/Index.cshtml file di sumber aplikasi yang Anda kloning dari GitHub dalam tutorial sebelumnya dan buka di editor teks favorit Anda. Tambahkan baris berikut di bawah baris <h1> yang sudah ada:

<h1>MODIFIED</h1>

Index.cshtml Anda yang dimodifikasi akan terlihat mirip dengan:

@{
    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>

Menyusun kembali gambar

Sekarang setelah Anda memperbarui aplikasi web, susun kembali gambar kontainernya. Seperti sebelumnya, gunakan nama gambar yang sepenuhnya memenuhi syarat, termasuk nama domain server login yang sepenuhnya memenuhi syarat (FQDN), untuk tag:

docker build . -f ./AcrHelloworld/Dockerfile -t <acrName>.azurecr.io/acr-helloworld:v1

Dorong gambar ke Azure Container Registry

Selanjutnya, dorong gambar kontainer acr-helloworld yang diperbarui ke registri replika geografis Anda. Di sini, Anda menjalankan satu perintah docker push untuk menyebarkan gambar yang diperbarui ke replika registri di wilayah AS Barat dan AS Timur.

docker push <acrName>.azurecr.io/acr-helloworld:v1

Output docker push Anda harus serupa dengan yang disebutkan berikut:

$ 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

Lihat log webhook

Saat gambar sedang direplikasi, Anda dapat melihat webhook Azure Container Registry dipicu.

Untuk melihat webhook regional yang dibuat ketika Anda menyebarkan kontainer ke Web Apps for Containers dalam tutorial sebelumnya, navigasi ke registri kontainer Anda di portal Microsoft Azure, lalu pilih Webhook di bawah LAYANAN.

Webhook registri kontainer di portal Microsoft Azure

Pilih setiap Webhook untuk melihat riwayat panggilan dan responsnya. Anda akan melihat baris untuk tindakan push di log kedua Webhook. Di sini, log untuk Webhook yang berada di wilayah AS Barat menunjukkan tindakan dorong yang dipicu oleh docker push di langkah sebelumnya:

Log Webhook registri kontainer di portal Microsoft Azure (AS Barat)

Lihat aplikasi web yang diperbarui

Webhook memberi tahu Web Apps bahwa gambar baru telah didorong ke registri, yang secara otomatis menggunakan kontainer yang diperbarui ke dua aplikasi web regional.

Verifikasi bahwa aplikasi telah diperbarui di kedua penyebaran dengan menavigasi ke kedua penyebaran Web App regional di browser web Anda. Sebagai pengingat, Anda dapat menemukan URL untuk aplikasi web yang diterapkan di kanan atas setiap tab ringkasan App Service.

Gambaran umum App Service di portal Microsoft Azure

Untuk melihat aplikasi yang diperbarui, pilih tautan di gambaran umum App Service. Berikut adalah contoh tampilan aplikasi yang berjalan di AS Barat:

Tampilan browser dari aplikasi web yang dimodifikasi yang berjalan di wilayah AS Barat

Verifikasi bahwa gambar kontainer yang diperbarui juga disebarkan ke penyebaran AS Timur dengan melihatnya di browser Anda.

Tampilan browser dari aplikasi web yang dimodifikasi yang berjalan di wilayah AS Timur

Dengan satu docker push, Anda telah secara otomatis memperbarui aplikasi web yang berjalan di kedua penyebaran Web App regional. Dan, Azure Container Registry menyajikan gambar kontainer dari repositori yang berada paling dekat dengan setiap penyebaran.

Langkah berikutnya

Dalam tutorial ini, Anda memperbarui dan mendorong versi baru kontainer aplikasi web ke registri Anda yang direplikasi geografis. Webhook di Azure Container Registry memberi tahu Web Apps for Containers mengenai pembaruan, yang memicu pull lokal dari replika registri terdekat.

ACR Build: Build dan patch gambar otomatis

Selain replikasi geografis, ACR Build adalah fitur lain dari Azure Container Registry yang dapat membantu mengoptimalkan pipeline penyebaran kontainer Anda. Mulai dengan gambaran ACR Build untuk mendapatkan gambaran tentang kemampuannya:

Mengotomatiskan OS dan patch kerangka kerja dengan ACR Build