Bagikan melalui


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:

Aplikasi yang disebarkan menggunakan Azure Container Instances ditampilkan di browser

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.

Aplikasi yang disebarkan menggunakan Azure Container Instances ditampilkan di browser

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 logsperintah 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 rmuntuk 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.