Latihan: Membangun dan menjalankan gambar kontainer menggunakan Tugas Azure Container Registry
Dalam latihan ini Anda menggunakan Tugas ACR untuk melakukan tindakan berikut:
- Membuat Azure Container Registry
- Membangun dan mendorong gambar dari Dockerfile
- Memverifikasi hasil
- Menjalankan gambar di Azure Container Registry
Prasyarat
- Akun Azure dengan langganan aktif. Jika belum berlangganan, Anda dapat mendaftar coba gratis di https://azure.com/free
Masuk ke Azure dan mulai Cloud Shell
Masuk ke portal Azure dan buka Cloud Shell.
Saat shell terbuka, pilih lingkungan Bash .
Membuat Azure Container Registry
Buat grup sumber daya untuk registri, ganti
<myLocation>
dalam perintah berikut dengan lokasi di dekat Anda.az group create --name az204-acr-rg --location <myLocation>
Buat registri kontainer dasar. Nama registri haruslah unik dalam Azure, dan berisi antara 5-50 karakter alfanumerik. Ganti
<myContainerRegistry>
dalam perintah berikut dengan nilai unik.az acr create --resource-group az204-acr-rg \ --name <myContainerRegistry> --sku Basic
Catatan
Perintah membuat registri Dasar , opsi yang dioptimalkan biaya untuk pengembang yang mempelajari tentang Azure Container Registry.
Membangun dan mendorong gambar dari Dockerfile
Sekarang gunakan Azure Container Registry untuk membangun dan mendorong gambar berdasarkan Dockerfile lokal.
Buat, atau navigasikan, ke direktori lokal lalu gunakan perintah berikut untuk membuat Dockerfile. Dockerfile berisi satu baris yang mereferensikan
hello-world
gambar yang dihosting di Microsoft Container Registry.echo FROM mcr.microsoft.com/hello-world > Dockerfile
Jalankan perintah
az acr build
yang membuat gambar dan, setelah gambar berhasil dibuat, dorong ke registri Anda. Ganti<myContainerRegistry>
dengan nama yang Anda gunakan sebelumnya.az acr build --image sample/hello-world:v1 \ --registry <myContainerRegistry> \ --file Dockerfile .
Berikut ini adalah sampel output yang dipersingkat dari perintah sebelumnya yang menunjukkan beberapa baris terakhir dengan hasil akhir. Anda dapat melihat di bidang
repository
gambarsample/hello-word
tercantum.- image: registry: <myContainerRegistry>.azurecr.io repository: sample/hello-world tag: v1 digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a runtime-dependency: registry: mcr.microsoft.com repository: hello-world tag: latest digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a git: {} Run ID: cf1 was successful after 11s
Memverifikasi hasil
Gunakan perintah
az acr repository list
untuk mencantumkan repositori di registri Anda. Ganti<myContainerRegistry>
dengan nama yang Anda gunakan sebelumnya.az acr repository list --name <myContainerRegistry> --output table
Output:
Result ---------------- sample/hello-world
Gunakan perintah
az acr repository show-tags
untuk mencantumkan tag pada repositori sample/hello-world. Ganti<myContainerRegistry>
dengan nama yang Anda gunakan sebelumnya.az acr repository show-tags --name <myContainerRegistry> \ --repository sample/hello-world --output table
Output:
Result -------- v1
Menjalankan gambar di Azure Container Registry
Jalankan gambar kontainer sample/hello-world:v1 dari registri kontainer Anda dengan menggunakan perintah
az acr run
. Contoh berikut menggunakan$Registry
untuk menentukan registri tempat Anda menjalankan perintah. Ganti<myContainerRegistry>
dengan nama yang Anda gunakan sebelumnya.az acr run --registry <myContainerRegistry> \ --cmd '$Registry/sample/hello-world:v1' /dev/null
Parameter
cmd
dalam contoh ini menjalankan kontainer dalam konfigurasi defaultnya, tetapicmd
mendukung parameter laindocker run
atau bahkan perintah lainnyadocker
.Berikut ini adalah sampel output yang dipersingkat:
Packing source code into tar to upload... Uploading archived source code from '/tmp/run_archive_ebf74da7fcb04683867b129e2ccad5e1.tar.gz'... Sending context (1.855 KiB) to registry: mycontainerre... Queued a run with ID: cab Waiting for an agent... 2019/03/19 19:01:53 Using acb_vol_60e9a538-b466-475f-9565-80c5b93eaa15 as the home volume 2019/03/19 19:01:53 Creating Docker network: acb_default_network, driver: 'bridge' 2019/03/19 19:01:53 Successfully set up Docker network: acb_default_network 2019/03/19 19:01:53 Setting up Docker configuration... 2019/03/19 19:01:54 Successfully set up Docker configuration 2019/03/19 19:01:54 Logging in to registry: mycontainerregistry008.azurecr.io 2019/03/19 19:01:55 Successfully logged into mycontainerregistry008.azurecr.io 2019/03/19 19:01:55 Executing step ID: acb_step_0. Working directory: '', Network: 'acb_default_network' 2019/03/19 19:01:55 Launching container with name: acb_step_0 Hello from Docker! This message shows that your installation appears to be working correctly. 2019/03/19 19:01:56 Successfully executed container: acb_step_0 2019/03/19 19:01:56 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 0.843801) Run ID: cab was successful after 6s
Membersihkan sumber daya
Bila tidak lagi diperlukan, Anda dapat menggunakan perintah az group delete
untuk menghapus grup sumber daya, registri kontainer, dan citra kontainer yang disimpan di sana.
az group delete --name az204-acr-rg --no-wait