Tutorial: Buat gambar kontainer pada kluster Linux Service Fabric
Tutorial ini adalah bagian dari seri tutorial yang menunjukkan cara menggunakan kontainer di kluster Service Fabric Linux. Dalam tutorial ini, aplikasi multi-kontainer disiapkan untuk digunakan dengan Service Fabric. Dalam tutorial berikutnya, gambar-gambar ini digunakan sebagai bagian dari aplikasi Service Fabric. Dalam tutorial ini, Anda akan mempelajari cara:
- Mengkloning sumber aplikasi dari GitHub
- Membuat gambar kontainer dari sumber aplikasi
- Menyebarkan instans Azure Container Registry (ACR)
- Menandai gambar kontainer untuk ACR
- Mengunggah gambar ke ACR
Dalam tutorial ini, Anda akan belajar cara:
- Membuat gambar kontainer untuk Service Fabric
- Membangun dan menjalankan Aplikasi Service Fabric dengan Kontainer
- Bagaimana kegagalan dan penskalaan ditangani di Service Fabric
Prasyarat
- Lingkungan pengembangan Linux disiapkan untuk Service Fabric. Ikuti petunjuk di sini untuk menyiapkan lingkungan Linux Anda.
- Tutorial ini mengharuskan Anda menjalankan CLI Azure versi 2.0.4 atau yang lebih baru. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, Pasang Azure CLI. - Selain itu, Anda memerlukan langganan Azure yang tersedia. Untuk informasi lebih lanjut tentang versi uji coba gratis, buka di sini.
Mendapatkan kode aplikasi
Aplikasi contoh yang digunakan dalam tutorial ini adalah aplikasi pemungutan suara. Aplikasi ini terdiri dari komponen web front-end dan instans Redis back-end. Komponen dipaketkan ke dalam gambar kontainer.
Gunakan git untuk mengunduh salinan aplikasi ke lingkungan pengembangan Anda.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/
Solusinya berisi dua folder dan file 'docker-compose.yml'. Folder 'azure-vote' berisi layanan frontend Python bersama dengan Dockerfile yang digunakan untuk membuat gambar. Direktori 'Voting' berisi paket aplikasi Service Fabric yang disebarkan ke kluster. Direktori ini berisi aset yang diperlukan untuk tutorial ini.
Membuat citra kontainer
Di dalam direktori azure-vote, jalankan perintah berikut untuk menyusun gambar untuk komponen web front-end. Perintah ini menggunakan Dockerfile dalam direktori ini untuk membangun gambar.
docker build -t azure-vote-front .
Catatan
Jika Anda mendapatkan izin ditolak maka ikuti dokumentasi ini tentang cara bekerja dengan docker tanpa sudo.
Perintah ini dapat memakan waktu karena semua dependensi yang diperlukan perlu ditarik dari Docker Hub. Setelah selesai, gunakan perintah gambar docker untuk melihat gambar azure-vote-front yang baru saja Anda buat.
docker images
Menyebarkan Azure Container Registry
Pertama-tama jalankan perintah masuk az untuk masuk ke akun Azure Anda.
az login
Selanjutnya, gunakan perintah akun az untuk memilih langganan Anda untuk membuat Azure Container registry. Anda harus memasukkan ID langganan dari langganan Azure Anda sebagai <subscription_id>.
az account set --subscription <subscription_id>
Saat menggunakan Azure Container Registry, Anda terlebih dahulu memerlukan grup sumber daya. Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola.
Buat grup sumber daya dengan perintah az group create. Dalam contoh ini, grup sumber daya bernama myResourceGroup dibuat di wilayah westus.
az group create --name <myResourceGroup> --location westus
Buat Azure Container Registry dengan perintah buat acr az. Ganti <acrName> dengan nama registri kontainer yang ingin Anda buat di bawah langganan Anda. Nama ini harus alfanumerik dan unik.
az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true
Sepanjang sisa tutorial ini, kami menggunakan "acrName" sebagai tempat penampung untuk nama registri kontainer yang Anda pilih. Harap perhatikan nilai ini.
Masuk ke registri kontainer Anda
Masuk ke instans ACR Anda sebelum mendorong gambar ke instans tersebut. Gunakan perintah masuk acr az untuk menyelesaikan operasi. Berikan nama unik yang diberikan ke registri kontainer ketika dibuat.
az acr login --name <acrName>
Perintah mengembalikan pesan 'Masuk Berhasil' setelah selesai.
Men-tag gambar kontainer
Setiap gambar kontainer perlu ditandai dengan nama loginServer registri. Tag ini digunakan untuk perutean saat mendorong gambar kontainer ke registri gambar.
Untuk melihat daftar gambar saat ini, gunakan perintah gambar docker.
docker images
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf About a minute ago 913MB
Untuk mendapatkan nama loginServer, jalankan perintah berikut:
az acr show --name <acrName> --query loginServer --output table
Ini menghasilkan tabel dengan hasil berikut. Hasil ini akan digunakan untuk menandai gambar azure-vote-front Anda sebelum mendorongnya ke registri kontainer di langkah berikutnya.
Result
------------------
<acrName>.azurecr.io
Sekarang, tandai gambar azure-vote-front dengan loginServer registri kontainer Anda. Selain itu, tambahkan :v1
ke akhir nama gambar. Tag ini menunjukkan versi gambar.
docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1
Setelah ditandai, jalankan 'gambar docker' untuk memverifikasi operasi.
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf 23 minutes ago 913MB
<acrName>.azurecr.io/azure-vote-front v1 052c549a75bf 23 minutes ago 913MB
Mendorong gambar ke registri
Dorong gambar azure-vote-front ke registri.
Dengan menggunakan contoh berikut, ganti nama ACR loginServer dengan loginServer dari lingkungan Anda.
docker push <acrName>.azurecr.io/azure-vote-front:v1
Perintah dorong docker membutuhkan waktu beberapa menit untuk menyelesaikannya.
Mencamtumkan gambar dalam registri
Untuk mengembalikan daftar gambar yang telah didorong ke registri Azure Container Anda, gunakan perintah daftar repositori az acr. Perbarui perintah dengan nama instans ACR.
az acr repository list --name <acrName> --output table
Output:
Result
----------------
azure-vote-front
Pada penyelesaian tutorial, gambar kontainer telah disimpan dalam instans Azure Container Registry pribadi. Gambar ini digunakan dari ACR ke kluster Service Fabric dalam tutorial berikutnya.
Langkah berikutnya
Dalam tutorial ini, aplikasi ditarik dari GitHub dan gambar kontainer dibuat dan didorong ke registri. Langkah-langkah berikut telah selesai:
- Mengkloning sumber aplikasi dari GitHub
- Membuat gambar kontainer dari sumber aplikasi
- Menyebarkan instans Azure Container Registry (ACR)
- Menandai gambar kontainer untuk ACR
- Mengunggah gambar ke ACR
Lanjutkan ke tutorial berikutnya untuk mempelajari tentang wadah kemasan ke dalam aplikasi Service Fabric menggunakan Yeoman.