Quickstart: Membuat registri kontainer privat 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 memasang atau meningkatkan, lihat Memasang 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.
Buat grup sumber daya
Buat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola.
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 <registry-name>.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
Mencantumkan 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.