Mulai Cepat: Menyebarkan instans kontainer di Azure menggunakan Azure CLI
Gunakan Azure Container Instances untuk menjalankan kontainer Docker tanpa server di Azure dengan mudah dan cepat. Sebarkan aplikasi ke instans kontainer sesuai permintaan saat Anda tidak memerlukan platform orkestrasi kontainer lengkap seperti Azure Kubernetes Service.
Dalam mulai cepat ini, Anda akan menggunakan Azure CLI untuk menyebarkan kontainer Docker yang terisolasi dan membuat aplikasinya tersedia dengan nama domain yang sepenuhnya memenuhi syarat (FQDN). Beberapa detik setelah Anda menjalankan satu perintah penyebaran, Anda dapat menelusuri ke aplikasi yang berjalan dalam kontainer:
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Mulai cepat ini memerlukan Azure CLI versi 2.0.55 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Peringatan
Praktik terbaik: Kredensial pengguna yang diteruskan melalui antarmuka baris perintah (CLI) disimpan sebagai teks biasa di backend. Menyimpan kredensial dalam teks biasa adalah risiko keamanan; Microsoft menyarankan pelanggan untuk menyimpan kredensial pengguna dalam variabel lingkungan CLI untuk memastikan mereka dienkripsi/diubah saat disimpan di backend.
Buat grup sumber daya
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.
Pertama, buat grup sumber daya bernama myResourceGroup di lokasi eastus dengan perintah buat grup az berikut:
az group create --name myResourceGroup --location eastus
Membuat kontainer
Setelah memiliki grup sumber daya, Anda dapat menjalankan kontainer di Azure. Untuk membuat instans kontainer dengan Azure CLI, berikan nama grup sumber daya, nama instans kontainer, dan gambar kontainer Docker ke perintah buat kontainer az. 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.
Anda dapat mengekspos kontainer Anda ke internet dengan menentukan satu atau beberapa port menjadi terbuka, label nama DNS, atau keduanya. Dalam mulai cepat ini, Anda akan menyebarkan kontainer dengan label nama DNS sehingga aplikasi web dapat dijangkau secara umum.
Jalankan perintah yang mirip dengan yang berikut ini untuk memulai instans kontainer. Set nilai --dns-name-label
yang unik dalam wilayah Azure tempat Anda membuat instans. Jika Anda menerima pesan kesalahan "Label nama DNS tidak tersedia", coba label nama DNS yang berbeda.
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80
Dalam beberapa detik, Anda harus mendapatkan respons dari Azure CLI yang menunjukkan bahwa penyebaran telah selesai. Periksa statusnya dengan perintah tunjukkan kontainer az:
az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Saat Anda menjalankan perintah, nama domain yang sepenuhnya memenuhi syarat (FQDN) kontainer dan status penyediaannya ditampilkan.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
Jika kontainer ProvisioningState
telah Berhasil, buka FQDN-nya melalui browser Anda. Jika Anda melihat halaman web yang mirip dengan halaman berikut ini, selamat! Anda berhasil menyebarkan aplikasi yang berjalan dalam kontainer Docker ke Azure.
Jika pada awalnya aplikasi tidak ditampilkan, Anda mungkin perlu menunggu beberapa detik saat DNS menyebar, lalu coba refresh browser Anda.
Penarikan log kontainer
Ketika Anda perlu memecahkan masalah kontainer atau aplikasi yang dijalankannya (atau hanya melihat outputnya), mulailah dengan melihat log instans kontainer.
Tarik log instans kontainer dengan perintah log kontainer az:
az container logs --resource-group myResourceGroup --name mycontainer
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 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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"
Melampirkan aliran output
Selain melihat log, Anda dapat melampirkan standar lokal keluar dan aliran kesalahan standar Anda ke kontainer.
Pertama, jalankan perintah lampirkan kontainer az untuk melampirkan konsol lokal Anda ke aliran output kontainer:
az container attach --resource-group myResourceGroup --name mycontainer
Setelah terlampir, refresh browser Anda beberapa kali untuk menghasilkan beberapa output tambahan. Setelah selesai, copot konsol Anda dengan Control+C
. Anda akan melihat output yang mirip dengan hal berikut:
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container
Start streaming logs:
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019:17:47:01 +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.56 - - [21/Mar/2019:17:47:12 +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 bekerja dengan kontainer, hapus menggunakan perintah hapus kontainer az:
az container delete --resource-group myResourceGroup --name mycontainer
Untuk memverifikasi bahwa kontainer telah dihapus, jalankan perintah daftar kontainer az:
az container list --resource-group myResourceGroup --output table
Kontainer mycontainer seharusnya tidak muncul dalam output perintah. Jika Anda tidak memiliki kontainer lain dalam grup sumber daya, tidak ada output yang ditampilkan.
Jika Anda sudah selesai dengan grup sumber daya myResourceGroup dan semua sumber daya yang ada di dalamnya, hapus dengan perintah hapus grup az:
az group delete --name myResourceGroup
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat instans kontainer Azure menggunakan gambar Microsoft publik. Jika Anda ingin membuat gambar kontainer dan menyebarkannya dari registri kontainer Azure privat, lanjutkan ke tutorial Azure Container Instances.
Untuk mencoba opsi menjalankan kontainer dalam sistem orkestrasi di Azure, lihat mulai cepat Azure Kubernetes Service (AKS).
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk