Menyebarkan citra Docker ke Azure Container Instance

Selesai

Azure Container Instance adalah layanan yang memuat dan menjalankan gambar Docker sesuai permintaan. Layanan Azure Container Instance dapat mengambil gambar dari registri, seperti Docker Hub atau Azure Container Registry.

Organisasi Anda ingin menggunakan Azure untuk menjalankan aplikasi webnya. Untuk alasan ini, masuk akal untuk menyimpan gambar di Azure Container Registry dan menjalankannya menggunakan layanan Azure Container Instance.

Di unit ini, Anda akan mempelajari cara mengunggah gambar Docker ke Azure Container Registry. Kemudian, Anda akan menjalankan gambar menggunakan layanan Instans Kontainer Azure.

Menggunakan Azure Container Registry untuk menyimpan kontainer

Azure Container Registry adalah layanan hosting registri yang disediakan oleh Azure. Setiap sumber daya Azure Container Registry yang Anda buat adalah registri terpisah dengan URL yang unik. Registri ini bersifat privat, artinya memerlukan autentikasi untuk mendorong atau menarik gambar. Azure Container Registry berjalan di cloud dan menyediakan tingkat skalabilitas dan ketersediaan yang serupa dengan layanan Azure lainnya.

Anda dapat membuat registri menggunakan portal Azure atau Azure Command Line Interface (CLI). Anda dapat menggunakan Cloud Shell di portal Microsoft Azure atau penginstalan lokal CLI Azure. Perlu diingat bahwa Anda harus membuat grup sumber daya sebelum dapat membuat registri. Saat membuat grup sumber daya, sebaiknya pilih wilayah terdekat. Dalam contoh ini, nama grup sumber daya kami adalah mygroup, dan lokasinya adalah US Barat.

Anda tidak perlu menjalankan salah satu perintah berikut. Kita akan melakukannya di latihan berikutnya.

Catatan

Anda memerlukan nama unik untuk kontainer Anda. Anda dapat memeriksa untuk melihat apakah nama sudah digunakan di sini.

az group create --name mygroup --location westus
az acr create --name <unique name> --resource-group mygroup --sku standard --admin-enabled true

SKU yang berbeda menyediakan tingkat skalabilitas dan penyimpanan yang juga berbeda.

Repositori Azure Container Registry bersifat privat, artinya tidak mendukung akses yang tidak diautentikasi. Untuk menarik citra dari repositori Azure Container Registry, gunakan perintah docker login dan tentukan URL server login untuk registri. URL server masuk untuk registri di Azure Container Registry memiliki bentuk <registry_name>.azurecr.io.

docker login myregistry.azurecr.io

Proses masuk Docker akan meminta Anda untuk menyediakan nama pengguna dan kata sandi. Untuk menemukan informasi ini, buka portal Microsoft Azure dan cari kunci akses registri atau jalankan perintah berikut.

az acr credential show --name myregistry --resource-group mygroup

Anda mendorong gambar dari komputer lokal ke registri Docker dengan menggunakan perintah docker push. Sebelum mendorong gambar, Anda harus membuat alias untuk gambar yang menentukan repositori dan tag yang dibuat oleh registri Docker. Nama repositori harus dalam bentuk *<login_server>/<image_name>:<tag/>. Gunakan perintah docker tag untuk melakukan operasi ini. Contoh berikut membuat alias untuk gambar reservationsystem.

docker tag reservationsystem myregistry.azurecr.io/reservationsystem:v2

Jika Anda menjalankan docker image ls, Anda akan melihat dua entri untuk citra tersebut: satu dengan nama asli, dan yang kedua dengan alias baru.

Setelah menjalankan perintah tag, Anda dapat mengunggah gambar ke registri di Azure Container Registry menggunakan perintah berikut.

docker push myregistry.azurecr.io/reservationsystem:v2

Pastikan gambar telah diunggah dengan benar dengan mencantumkan repositori di registri dengan perintah berikut.

az acr repository list --name myregistry --resource-group mygroup

Anda dapat mencantumkan gamabr dalam registri dengan perintah acr repository show.

az acr repository show --repository reservationsystem --name myregistry --resource-group mygroup

Catatan

Anda akan melihat setidaknya dua tag untuk setiap citra di repositori. Satu tag akan menjadi nilai yang Anda tentukan dalam perintah acr build (v1 pada contoh sebelumnya). Yang lain akan menjadi yang terbaru. Setiap kali Anda membangun kembali citra, Azure Container Registry secara otomatis membuat tag terbaru sebagai alias untuk versi citra terbaru.

Menggunakan Azure Container Instance untuk menjalankan sebuah citra

Layanan Azure Container Instance dapat memuat citra dari Azure Container Registry dan menjalankannya di Azure.

Anda membuat instans kontainer dan memulai citra yang berjalan dengan perintah az container create. Berikan nama pengguna dan kata sandi untuk registri dalam registry-username dan parameter registry-password. Instans akan dialokasikan alamat IP. Anda mengakses instans dengan alamat IP ini. Anda dapat menentukan nama DNS secara opsional jika Anda lebih condong merujuk pada instans melalui label yang lebih mudah digunakan. Perhatikan bahwa Anda menentukan citra sebagai URL yang merujuk pada registri Anda (myregistry ) di layanan Azure Container Registry (azurecr.io). Jika Anda menggunakan Docker Hub atau registri lain, ganti URL ini dengan URL gambar Anda di registri tersebut.

az container create --resource-group mygroup --name myinstance --image myregistry.azurecr.io/myapp:latest --dns-name-label mydnsname --registry-username <username> --registry-password <password>

Azure menghosting instans dengan nama domain berdasarkan label DNS yang Anda tentukan. Anda dapat menemukan nama domain instans yang sepenuhnya memenuhi syarat dengan menanyakan alamat IP instans.

az container show --resource-group mygroup --name myinstance --query ipAddress.fqdn

Anda dapat mengakses aplikasi menggunakan browser web. Anda dapat menavigasi ke URL yang dikembalikan oleh perintah ini; kita akan mempelajari bagaimana di unit berikutnya.