Mulai cepat: Menyebarkan instans kontainer di Azure menggunakan CLI Docker
Gunakan Azure Container Instances untuk menjalankan kontainer Docker tanpa server di Azure dengan mudah dan cepat. Sebarkan ke instans kontainer sesuai permintaan saat Anda mengembangkan aplikasi asli cloud dan Anda ingin beralih dengan mulus dari pengembangan lokal ke penyebaran cloud.
Dalam mulai cepat ini, Anda menggunakan perintah CLI Docker asli untuk menyebarkan kontainer Docker dan membuat aplikasinya tersedia di Azure Container Instances. Integrasi antara Docker dan Azure memungkinkan kemampuan ini. Beberapa detik setelah Anda menjalankan docker run
perintah, Anda dapat menelusuri ke aplikasi yang berjalan dalam kontainer:
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Untuk mulai cepat ini, Anda memerlukan Docker Desktop versi 2.3.0.5 atau yang lebih baru, tersedia untuk Windows atau macOS. Atau pasang ACI Docker Integrasi CLI untuk Linux.
Penting
Tidak semua fitur Azure Container Instances didukung. Berikan tanggapan tentang integrasi Docker-Azure dengan membuat masalah di repositori GitHub aci-Integration beta.
Membuat konteks Azure
Untuk menggunakan perintah Docker guna menjalankan kontainer di Azure Container Instances, masuk ke Azure terlebih dahulu:
docker login azure --tenant-id "[tenant ID]"
Untuk menemukan ID penyewa Anda, telusuri ke properti ID Microsoft Entra.
Saat diminta, masukkan atau pilih info masuk Azure Anda.
Buat konteks ACI dengan menjalankan docker context create aci
. Konteks ini mengaitkan Docker dengan grup sumber daya dan langganan Azure, sehingga Anda dapat membuat dan mengelola instans kontainer. Misalnya, untuk membuat konteks yang disebut myacicontext:
docker context create aci myacicontext
Saat diminta, pilih ID langganan Azure Anda, lalu pilih grup sumber daya yang sudah ada atau buat grup sumber daya baru. Jika Anda memilih grup sumber daya baru, grup tersebut memiliki nama yang dihasilkan sistem pada pembuatan. Instans kontainer Azure, seperti semua sumber daya Azure, harus disebarkan ke dalam grup sumber daya. Grup sumber daya memungkinkan Anda menata dan mengelola sumber daya Azure terkait.
Jalankan docker context ls
untuk mengonfirmasi bahwa Anda telah menambahkan konteks ACI ke konteks Docker:
docker context ls
Membuat kontainer
Setelah membuat konteks Docker, Anda dapat membuat kontainer di Azure. Dalam mulai cepat ini, Anda menggunakan gambar mcr.microsoft.com/azuredocs/aci-helloworld
publik. Gambar ini mengemas aplikasi web kecil yang ditulis di Simpul.js yang menyajikan halaman HTML statis.
Pertama, ubah ke konteks ACI. Semua perintah Docker berikutnya dijalankan dalam konteks ini.
docker context use myacicontext
Jalankan docker run
perintah untuk membuat instans kontainer Azure dengan port 80 yang diekspos ke internet:
docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld
Contoh output untuk penyebaran yang berhasil:
[+] Running 2/2
⠿ hungry-kirch Created 5.1s
⠿ single--container--aci Done 11.3s
hungry-kirch
Jalankan docker ps
untuk mendapatkan detail tentang kontainer yang sedang berjalan, termasuk alamat IP publik:
docker ps
Contoh output yang menunjukkan alamat IP publik, dalam hal ini 52.230.225.232:
CONTAINER ID IMAGE COMMAND STATUS PORTS
hungry-kirch mcr.microsoft.com/azuredocs/aci-helloworld Running 52.230.225.232:80->80/tcp
Sekarang buka alamat IP di browser Anda. Jika Anda melihat halaman web yang mirip dengan halaman berikut ini, selamat! Anda berhasil menyebarkan aplikasi yang berjalan di kontainer Docker ke Azure.
Penarikan log kontainer
Ketika Anda perlu memecahkan masalah kontainer atau aplikasi yang dijalankannya (atau hanya melihat outputnya), mulailah dengan melihat log instans kontainer.
Misalnya, jalankan docker logs
perintah untuk melihat log kontainer hungry-kirch dalam konteks ACI:
docker logs hungry-kirch
Output menampilkan log untuk kontainer, dan harus menunjukkan permintaan HTTP GET yang dihasilkan ketika Anda melihat aplikasi melalui browser Anda.
listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Membersihkan sumber daya
Setelah selesai dengan kontainer, jalankan docker rm
untuk penghapusan. Perintah ini menghentikan dan menghapus instans kontainer Azure.
docker rm hungry-kirch
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat instans kontainer Azure dari gambar publik dengan menggunakan integrasi antara Docker dan Azure. Pelajari selengkapnya tentang skenario integrasi di dokumentasi Docker.
Anda juga dapat menggunakan ekstensi Docker untuk Visual Studio Code untuk pengalaman terintegrasi dalam mengembangkan, menjalankan, dan mengelola kontainer, gambar, dan konteks.
Menggunakan alat Azure untuk membuat dan mengelola instans kontainer, lihat mulai cepat lain dengan menggunakan Azure CLI, Azure PowerShell, portal Microsoft Azure, dan templat Azure Resource Manager.
Jika Anda ingin menggunakan Docker Compose untuk menentukan dan menjalankan aplikasi multi-kontainer secara lokal lalu beralih ke Azure Container Instances, lanjutkan ke tutorial.