Latihan: Membangun dan menjalankan gambar kontainer menggunakan Tugas Azure Container Registry

Selesai

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

  1. Masuk ke portal Azure dan buka Cloud Shell.

    The location of Cloud Shell launch button.

  2. Saat shell terbuka, pilih lingkungan Bash .

    Selecting the Bash environment.

Membuat Azure Container Registry

  1. 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>
    
  2. 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.

  1. 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
    
  2. 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 gambar sample/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

  1. 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
    
  2. 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

  1. 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, tetapi cmd mendukung parameter lain docker run atau bahkan perintah lainnya docker .

    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