Mulai cepat: Membuat registri kontainer Azure menggunakan Azure CLI

Azure Container Registry adalah layanan registri privat untuk membangun, menyimpan, dan mengelola gambar kontainer dan artefak terkait. Dalam mulai cepat ini, Anda membuat instans registri kontainer Azure menggunakan Azure CLI. Kemudian, gunakan perintah Docker untuk mendorong gambar kontainer ke dalam registri, dan akhirnya menarik dan menjalankan gambar dari registri Anda.

Mulai cepat ini mengharuskan Anda menjalankan Azure CLI (versi 2.0.55 atau yang lebih baru direkomendasikan). Jalankan az --version untuk menemukan versinya. Jika Anda perlu menginstal atau meningkatkan, lihat Menginstal Azure CLI.

Anda juga harus memiliki Docker yang diinstal secara lokal. Docker menyediakan paket yang mengkonfigurasi Docker pada sistem MacOS, Windows, atau Linux.

Karena Azure Cloud Shell tidak menyertakan semua komponen Docker yang diperlukan (dockerd daemon), Anda tidak dapat menggunakan Cloud Shell untuk memulai cepat ini.

Membuat grup sumber daya

Buat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis yang disebarkan dan dikelola sumber daya Azure.

Contoh berikut ini menampilkan cara membuat grup sumber daya bernama myResourceGroup di lokasi eastus.

az group create --name myResourceGroup --location eastus

Membuat registri kontainer

Dalam mulai cepat ini Anda membuat registri Dasar, yang merupakan opsi yang dioptimalkan biaya untuk pengembang yang mempelajari tentang Azure Container Registry. Untuk detail tentang tingkat layanan yang tersedia, lihat Tingkat layanan registri kontainer.

Buat instance ACR menggunakan perintah buat az acr. Nama registri harus unik dalam Azure, dan berisi 5-50 karakter alfanumerik huruf kecil. Dalam contoh berikut, mycontainerregistry digunakan. Perbarui nama ini ke nilai yang unik.

az acr create --resource-group myResourceGroup \
  --name mycontainerregistry --sku Basic

Saat registri dibuat, Anda akan melihat output yang mirip dengan yang berikut ini:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry",
  "location": "eastus",
  "loginServer": "mycontainerregistry.azurecr.io",
  "name": "mycontainerregistry",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Perhatikan dalam loginServer output, yang merupakan nama registri yang sepenuhnya memenuhi syarat (semua huruf kecil). Sepanjang sisa mulai cepat ini adalah <registry-name> tempat penampung untuk nama registri kontainer, dan <login-server> merupakan tempat penampung untuk nama server masuk registri.

Tip

Dalam mulai cepat ini, Anda membuat registri Dasar, yang merupakan opsi yang dioptimalkan biaya untuk pengembang yang mempelajari tentang Azure Container Registry. Pilih tingkat lain untuk meningkatkan throughput penyimpanan dan gambar, dan kemampuan seperti koneksi menggunakan titik akhir privat. Untuk detail tentang tingkat layanan yang tersedia, lihat Tingkat layanan registri kontainer.

Masuk ke registri

Sebelum mendorong dan menarik gambar kontainer, Anda harus masuk ke instans registri. Untuk melakukannya, gunakan perintah az acr login. Tentukan hanya nama sumber daya registri saat masuk dengan Azure CLI. Jangan gunakan nama server masuk yang sepenuhnya memenuhi syarat.

az acr login --name <registry-name>

Contoh:

az acr login --name mycontainerregistry

Perintah mengembalikan pesan Login Succeeded setelah selesai.

Mendorong gambar ke registri

Untuk mendorong gambar ke registri Kontainer Azure, Anda harus terlebih dahulu memiliki gambar. Jika Anda belum memiliki gambar kontainer lokal, jalankan perintah docker pull untuk menarik gambar publik yang ada. Untuk contoh ini, tarik gambar hello-world dari Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Sebelum Anda dapat memasukkan gambar ke registri Anda, Anda harus memberi tag dengan nama server masuk registri Anda yang sepenuhnya memenuhi syarat. Nama server masuk dalam format <nama-registry>.azurecr.io (harus huruf kecil semua), misalnya, mycontainerregistry.azurecr.io.

Beri tag pada gambar menggunakan perintah docker tag. Ganti <login-server> dengan nama server masuk instans Azure Container Registry Anda.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Contoh:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Terakhir, gunakan docker push untuk mendorong gambar ke instans registri. Ganti <login-server> dengan nama server masuk dari instans registri Anda. Contoh ini membuat repositori hello-world, yang berisi gambar hello-world:v1.

docker push <login-server>/hello-world:v1

Setelah mendorong gambar ke registri kontainer Anda, hapus gambar hello-world:v1 dari lingkungan Docker lokal Anda. (Perhatikan bahwa perintah docker rmi ini tidak menghapus gambar dari repositori hello-world di registri penampung Azure Anda.)

docker rmi <login-server>/hello-world:v1

Cantumkan gambar kontainer

Contoh berikut mencantumkan repositori di registri Anda:

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

Output:

Result
----------------
hello-world

Contoh berikut mencantumkan tag di repositori hello-world.

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Output:

Result
--------
v1

Menjalankan gambar dari registri

Sekarang, Anda dapat menarik dan menjalankan gambar kontainer hello-world:v1 dari registri kontainer Anda dengan menggunakan eksekusi docker:

docker run <login-server>/hello-world:v1  

Contoh output:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Membersihkan sumber daya

Ketika tidak lagi diperlukan, Anda dapat menggunakan perintah az group delete untuk menghapus grup sumber daya, registri kontainer, dan gambar kontainer yang disimpan di sana.

az group delete --name myResourceGroup

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat Azure Container Registry dengan Azure CLI, mendorong gambar kontainer, dan menarik serta menjalankan gambar dari registri. Lanjutkan ke tutorial Azure Container Registry untuk melihat ACR lebih dalam.