Mulai cepat: Menyebarkan instans kontainer di Azure menggunakan templat ARM
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 menggunakan templat Azure Resource Manager (template ARM) untuk menyebarkan kontainer Docker yang terisolasi dan membuat aplikasi webnya tersedia dengan alamat IP publik.
Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.
Jika lingkungan Anda telah memenuhi prasyarat dan Anda terbiasa menggunakan templat ARM, pilih tombol Sebarkan ke Azure. Templat terbuka di portal Azure.
Prasyarat
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Meninjau templat
Templat yang digunakan di mulai cepat ini berasal dari Templat Mulai Cepat Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "15999594271314721416"
}
},
"parameters": {
"name": {
"type": "string",
"defaultValue": "acilinuxpublicipcontainergroup",
"metadata": {
"description": "Name for the container group"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"image": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
"metadata": {
"description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
}
},
"port": {
"type": "int",
"defaultValue": 80,
"metadata": {
"description": "Port to open on the container and the public IP address."
}
},
"cpuCores": {
"type": "int",
"defaultValue": 1,
"metadata": {
"description": "The number of CPU cores to allocate to the container."
}
},
"memoryInGb": {
"type": "int",
"defaultValue": 2,
"metadata": {
"description": "The amount of memory to allocate to the container in gigabytes."
}
},
"restartPolicy": {
"type": "string",
"defaultValue": "Always",
"allowedValues": [
"Always",
"Never",
"OnFailure"
],
"metadata": {
"description": "The behavior of Azure runtime if container has stopped."
}
}
},
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2023-05-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "[parameters('name')]",
"properties": {
"image": "[parameters('image')]",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
],
"resources": {
"requests": {
"cpu": "[parameters('cpuCores')]",
"memoryInGB": "[parameters('memoryInGb')]"
}
}
}
}
],
"osType": "Linux",
"restartPolicy": "[parameters('restartPolicy')]",
"ipAddress": {
"type": "Public",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
]
}
}
}
],
"outputs": {
"name": {
"type": "string",
"value": "[parameters('name')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))]"
},
"containerIPv4Address": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name')), '2023-05-01').ipAddress.ip]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Sumber daya berikut ini ditentukan di templat:
- Microsoft.ContainerInstance/containerGroups: membuat grup kontainer Azure. Templat ini menentukan grup yang terdiri dari satu instans kontainer.
Lebih banyak sampel templat Azure Container Instances dapat ditemukan di galeri templat mulai cepat.
Menyebarkan templat
Pilih gambar berikut untuk masuk ke Azure dan buka templat. Template membuat registri dan replika di lokasi lain.
Pilih atau masukkan nilai berikut.
- Langganan: pilih langganan Azure.
- Grup sumber daya: pilih Buat baru, masukkan nama unik untuk grup sumber daya, lalu pilih OK.
- Lokasi: pilih lokasi untuk grup sumber daya. Contoh: US Tengah.
- Nama: terima nama yang dihasilkan untuk instans, atau masukkan nama.
- Gambar: terima nama gambar default. Sampel gambar Linux ini mengemas aplikasi web kecil yang ditulis di Node.js yang menyajikan halaman HTML statis.
Terima nilai default untuk properti yang tersisa.
Tinjau syarat dan ketentuan. Jika setuju, pilih Saya menyetujui syarat dan ketentuan yang dinyatakan di atas.
Setelah instans berhasil dibuat, Anda mendapatkan pemberitahuan:
Portal Microsoft Azure digunakan untuk menyebarkan template. Selain portal Microsoft Azure, Anda juga dapat menggunakan Azure PowerShell, Azure CLI, dan REST API. Untuk mempelajari metode penyebaran lainnya, lihat Menyebarkan templat.
Meninjau sumber daya yang disebarkan
Gunakan portal Microsoft Azure atau alat seperti Azure CLI untuk meninjau properti instans kontainer.
Di portal, cari Container Instances, dan pilih instans kontainer yang Anda buat.
Di halaman Gambaran Umum, catat Status instans dan alamat IP-nya.
Setelah statusnya Berjalan, navigasikan ke alamat IP di browser Anda.
Menampilkan log kontainer
Melihat log untuk instans kontainer sangat membantu saat memecahkan masalah terkait kontainer Anda atau aplikasi yang dijalankannya.
Untuk menampilkan log kontainer, di bawah Pengaturan, pilih Kontainer>Log. Anda akan melihat permintaan HTTP GET yang dihasilkan saat Anda menampilkan aplikasi di browser Anda.
Membersihkan sumber daya
Jika Anda sudah selesai dengan kontainer, di halaman Gambaran Umum untuk instans kontainer, pilih Hapus. Ketika diminta, konfirmasikan penghapusan.
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat instans kontainer Azure dari gambar publik Microsoft. Jika Anda ingin membuat gambar kontainer dan menyebarkannya dari registri kontainer Azure privat, lanjutkan ke tutorial Azure Container Instances.
Untuk tutorial langkah demi langkah yang memandu Anda melalui proses pembuatan template, lihat: