Tutorial: Membuat registri kontainer Azure dan mendorong gambar kontainer

Ini adalah bagian kedua dari tutorial tiga bagian. Bagian satu tutorial membuat gambar kontainer Docker untuk aplikasi web Node.js. Dalam tutorial ini, Anda mendorong gambar ke Azure Container Registry. Jika Anda belum membuat gambar kontainer, kembali ke Tutorial 1 - Membuat gambar kontainer.

Azure Container Registry adalah registri Docker pribadi Anda di Azure. Dalam tutorial ini, bagian dua dalam seri, Anda:

  • Membuat instans Azure Container Registry dengan Azure CLI
  • Menandai gambar kontainer untuk registri kontainer Azure Anda
  • Mengunggah gambar ke registri Anda

Di artikel berikutnya, yang terakhir dalam seri, Anda menggunakan kontainer dari registri pribadi Anda ke Azure Container Instances.

Sebelum Anda mulai

Anda harus memenuhi persyaratan berikut untuk menyelesaikan tutorial ini:

Azure CLI: Anda harus menginstal Azure CLI versi 2.0.29 atau yang lebih baru di komputer lokal Anda. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Docker: Tutorial ini mengasumsikan pemahaman dasar tentang konsep Docker inti seperti kontainer, gambar kontainer, dan perintah docker dasar. Untuk primer tentang Docker dan dasar kontainer, lihat Gambaran umum Docker.

Docker: Untuk menyelesaikan tutorial ini, Anda perlu menginstal Docker secara lokal. Docker menyediakan paket yang mengonfigurasi lingkungan Docker di macOS, Windows, dan Linux.

Penting

Karena Azure Cloud shell tidak menyertakan daemon Docker, Anda harus menginstal Azure CLI dan Docker Engine di komputer lokal Anda untuk menyelesaikan tutorial ini. Anda tidak dapat menggunakan Azure Cloud Shell untuk tutorial ini.

Membuat Azure Container Registry

Sebelum membuat registri kontainer, Anda memerlukan grup sumber daya untuk menyebarkannya. Grup sumber daya Azure adalah koleksi logis di mana sumber daya Azure disebarkan dan dikelola.

Buat grup sumber daya dengan perintah az group create. Dalam contoh ini, grup sumber daya bernama myResourceGroup dibuat di wilayah eastus:

az group create --name myResourceGroup --location eastus

Setelah Anda membuat grup sumber daya, buat registri kontainer Azure dengan perintah az acr create. Nama registri kontainer harus unik dalam Azure dan berisi karakter alfanumerik 5-50. Ganti <acrName> dengan nama unik untuk registri Anda:

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

Berikut adalah output parsial untuk Azure container registry baru bernama mycontainerregistry082:

{
  "creationDate": "2020-07-16T21:54:47.297875+00:00",
  "id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
  "location": "eastus",
  "loginServer": "mycontainerregistry082.azurecr.io",
  "name": "mycontainerregistry082",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Sisa tutorial ini merujuk ke <acrName> sebagai tempat penampung untuk registri kontainer yang Anda pilih dalam langkah ini.

Masuk ke registri kontainer

Anda harus masuk ke instans Azure Container Registry sebelum mendorong citra ke instans tersebut. Gunakan perintah az acr login untuk menyelesaikan operasi. Anda harus memberikan nama unik yang Anda pilih untuk registri kontainer saat Anda membuatnya.

az acr login --name <acrName>

Contohnya:

az acr login --name mycontainerregistry082

Perintah mengembalikan Login Succeeded setelah selesai:

Login Succeeded

Menandai gambar kontainer

Untuk mendorong gambar kontainer ke registri privat seperti Azure Container Registry, Anda harus menandai gambar terlebih dahulu dengan nama lengkap server login registri.

Pertama, dapatkan nama server login lengkap untuk registri kontainer Azure Anda. Jalankan perintah az acr show berikut, dan ganti <acrName> dengan nama registri yang baru saja Anda buat:

az acr show --name <acrName> --query loginServer --output table

Misalnya, jika registri Anda bernama mycontainerregistry082:

az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io

Sekarang, tampilkan daftar gambar lokal Anda dengan perintah gambar docker:

docker images

Seiring dengan gambar lain yang Anda miliki di mesin Anda, Anda akan melihat gambar aci-tutorial-app yang Anda bangun dalam tutorial sebelumnya:

$ docker images
REPOSITORY          TAG       IMAGE ID        CREATED           SIZE
aci-tutorial-app    latest    5c745774dfa9    39 minutes ago    68.1 MB

Tandai gambar aci-tutorial-app dengan server login registri kontainer Anda. Selain itu, tambahkan tag :v1 ke akhir nama gambar untuk menunjukkan nomor versi gambar. Ganti <acrLoginServer> dengan hasil perintah az acr show yang Anda jalankan sebelumnya.

docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1

Jalankan docker images lagi untuk memverifikasi operasi penandaan:

$ docker images
REPOSITORY                                            TAG       IMAGE ID        CREATED           SIZE
aci-tutorial-app                                      latest    5c745774dfa9    39 minutes ago    68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app    v1        5c745774dfa9    7 minutes ago     68.1 MB

Dorong gambar ke Azure Container Registry

Sekarang setelah Anda menandai gambar aci-tutorial-app dengan nama server login lengkap registri pribadi Anda, Anda dapat mendorong gambar ke registri dengan perintah docker push. Ganti <acrLoginServer> dengan nama server login lengkap yang Anda peroleh di langkah sebelumnya.

docker push <acrLoginServer>/aci-tutorial-app:v1

Operasi push ini seharusnya memakan waktu beberapa detik hingga beberapa menit tergantung koneksi internet Anda, dan outputnya mirip dengan yang berikut:

$ docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576

Mencantumkan gambar di Azure Container Registry

Untuk memverifikasi bahwa gambar yang baru saja Anda dorong memang ada di registri kontainer Azure Anda, cantumkan gambar di registri Anda dengan perintah az acr repository list. Ganti <acrName> dengan nama registri kontainer Anda.

az acr repository list --name <acrName> --output table

Contohnya:

az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app

Untuk melihat tag untuk gambar tertentu, gunakan perintah az acr repository show-tags.

az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table

Anda harus melihat output yang mirip dengan yang berikut:

Result
--------
v1

Langkah berikutnya

Dalam tutorial ini, Anda menyiapkan registri kontainer Azure untuk digunakan dengan Azure Container Instances, dan mendorong gambar kontainer ke registri. Langkah-langkah berikut telah selesai:

  • Membuat instans Azure Container Registry dengan Azure CLI
  • Menandai gambar kontainer untuk Azure Container Registry
  • Mendorong gambar ke Azure Container Registry

Lanjutkan ke tutorial berikutnya untuk mempelajari cara menggunakan kontainer ke Azure menggunakan Azure Container Instances: