Menyebarkan aplikasi Spring Boot ke Linux di Azure App Service
Tutorial ini membahas cara menggunakan Docker untuk memasukkan aplikasi Spring Boot ke dalam kontainer dan menyebarkan gambar docker ke host Linux di Azure App Service.
Prasyarat
Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda harus memiliki prasyarat berikut:
- Langganan Azure; jika belum berlangganan Azure, Anda dapat mengaktifkan keuntungan pelanggan MSDN Anda atau mendaftar akun gratis Azure.
- Antarmuka Tingkat Panggilan Azure (CLI).
- Kit Pengembangan Java (JDK) yang didukung. Untuk informasi selengkapnya tentang JDK yang tersedia untuk digunakan saat mengembangkan Azure, lihat dukungan Java pada Azure dan Azure Stack.
- Alat build Apache Maven (Versi 3).
- Klien Git.
- Klien Docker.
Catatan
Karena persyaratan virtualisasi dari tutorial ini, Anda tidak dapat mengikuti langkah-langkah dalam artikel ini di mesin virtual; Anda harus menggunakan komputer fisik dengan fitur virtualisasi diaktifkan.
Membuat Spring Boot di aplikasi web Memulai Docker
Langkah-langkah berikut membahas langkah-langkah yang diperlukan untuk membuat aplikasi web Spring Boot sederhana dan mengujinya secara lokal.
Buka perintah dan buat direktori lokal untuk menyimpan aplikasi Anda, dan ubah ke direktori itu; misalnya:
mkdir SpringBoot cd SpringBootKlon proyek sampel Memulai Spring Boot di Docker ke direktori yang Anda buat; misalnya:
git clone https://github.com/spring-guides/gs-spring-boot-docker.gitUbah direktori ke proyek yang sudah selesai; misalnya:
cd gs-spring-boot-docker/completeBangun file JAR menggunakan Maven; misalnya:
mvn packageSetelah aplikasi web dibuat, ubah direktori ke direktori
targettempat file JAR berada dan mulai aplikasi web; misalnya:cd target java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80Uji aplikasi web dengan menelusurinya secara lokal menggunakan browser web. Misalnya, jika Anda memiliki curl yang tersedia dan Anda mengonfigurasi server Tomcat untuk berjalan pada port 80:
curl http://localhostAnda akan melihat pesan berikut ditampilkan: Halo Dunia Docker

Membuat Azure Container Registry untuk digunakan sebagai Registri Docker Privat
Langkah-langkah berikut membahas penggunaan portal Azure untuk membuat Azure Container Registry.
Catatan
Jika Anda ingin menggunakan Azure CLI daripada portal Azure, ikuti langkah-langkah dalam Membuat registri kontainer Docker privat menggunakan Azure CLI 2.0.
Telusuri portal Azure, lalu masuk.
Setelah berhasil masuk ke akun Anda di portal Azure, ikuti langkah-langkah dalam artikel Membuat registri kontainer Docker privat menggunakan portal Azure, yang diuraikan dalam langkah-langkah berikut untuk penjelasan lebih singkat.
Klik ikon menu untuk Baru, pilih Kontainer, lalu pilih Azure Container Registry.

Saat halaman Buat registri kontainer ditampilkan, masukkan Nama registri, Langganan, Grup sumber daya, dan Lokasi. Kemudian pilih Buat.

Pilih Kunci akses di bawah Pengaturan dan nyalakan tombol Diaktifkan di balik Pengguna admin.

Mengonfigurasi Maven untuk membangun gambar ke Azure Container Registry Anda
Navigasikan ke direktori proyek yang telah selesai untuk aplikasi Spring Boot Anda, (misalnya: "C:\SpringBoot\gs-spring-boot-docker\complete" atau "/users/robert/SpringBoot/gs-spring-boot-docker/complete"), dan buka file pom.xml dengan editor teks.
Perbarui koleksi
<properties>dalam file pom.xml dengan versi terbaru dari jib-maven-plugin, nilai server login, dan pengaturan akses untuk Azure Container Registry Anda dari bagian sebelumnya dari tutorial ini. Contohnya:<properties> <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version> <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix> <java.version>1.8</java.version> </properties>Tambahkan jib-maven-plugin ke koleksi
<plugins>dalam file pom.xml. Contoh ini menggunakan versi 3.2.0.Tentukan gambar dasar di
<from>/<image>, di sinimcr.microsoft.com/java/jre:8-zulu-alpine. Tentukan nama gambar akhir yang akan dibangun dari dasar di<to>/<image>.Autentikasi
{docker.image.prefix}adalah Server login pada halaman registri yang ditampilkan sebelumnya.{project.artifactId}adalah nama dan nomor versi file JAR dari pembangunan proyek Maven pertama.<plugin> <artifactId>jib-maven-plugin</artifactId> <groupId>com.google.cloud.tools</groupId> <version>${jib-maven-plugin.version}</version> <configuration> <from> <image>mcr.microsoft.com/java/jre:8-zulu-alpine</image> </from> <to> <image>${docker.image.prefix}/${project.artifactId}</image> </to> </configuration> </plugin>Navigasikan ke direktori proyek yang telah selesai untuk aplikasi Spring Boot Anda dan jalankan perintah berikut untuk membangun kembali aplikasi dan mendorong kontainer ke Azure Container Registry Anda:
az acr login -n wingtiptoysregistry && mvn compile jib:build
Catatan
- Perintah
az acr login ...akan mencoba masuk ke Azure Container Registry, jika tidak, Anda harus menyediakan<username>dan<password>untuk jib-maven-plugin, lihat Metode Autentikasi di jib. - Saat Anda menggunakan Jib untuk mendorong gambar Anda ke Azure Container Registry, gambar tidak akan menggunakan Dockerfile, lihat dokumen ini untuk detailnya.
Membuat aplikasi web di Linux di Azure App Service menggunakan gambar kontainer Anda
Telusuri portal Azure, lalu masuk.
Klik ikon menu Buat sumber daya, pilih Komputasi, lalu pilih Aplikasi Web.

Saat halaman Aplikasi Web di Linux ditampilkan, masukkan informasi berikut:
Pilih Langganan Anda dari daftar drop-down.
Pilih Grup Sumber Daya yang sudah ada, atau tentukan nama untuk membuat grup sumber daya baru.
Masukkan nama yang unik untuk Nama aplikasi; misalnya: "wingtiptoyslinux"
Tentukan
Docker Containeruntuk Terbitkan.Pilih Linux sebagai Sistem Operasi.
Pilih Wilayah.
Terima Paket Linux dan pilih Paket App Service yang ada, atau pilih Buat baru untuk membuat paket layanan aplikasi baru.
Klik Berikutnya: Docker.

Pada halaman Aplikasi Web pilih Docker, dan masukkan informasi berikut:
Pilih Kontainer Tunggal.
Registri: Pilih kontainer Anda, misalnya: "wingtiptoysregistry"
Gambar: Pilih gambar yang dibuat sebelumnya, misalnya: "spring-boot-docker"
Tag: Pilih tag untuk gambar; misalnya: "latest"
Perintah Startup: Kosongkan karena gambar sudah memiliki perintah start up
Setelah Anda memasukkan semua informasi di atas, pilih Ulas + buat.

- Klik Ulas + buat.
Tinjau informasi dan pilih Buat.
Saat penyebaran selesai, pilih Buka sumber daya. Halaman penyebaran menampilkan URL untuk mengakses aplikasi.

Catatan
Azure akan secara otomatis memetakan permintaan Internet ke server Tomcat tersemat yang berjalan di port - 80. Namun, jika Anda mengonfigurasi server Tomcat tersemat untuk berjalan di port - 8080 atau port kustom, Anda perlu menambahkan variabel lingkungan ke aplikasi web yang menentukan port untuk server Tomcat tersemat Anda. Untuk melakukannya, gunakan langkah-langkah berikut:
Telusuri portal Azure, lalu masuk.
Pilih ikon untuk Aplikasi Web, dan pilih aplikasi Anda dari halaman App Services.
Pilih Konfigurasi di panel navigasi kiri.
Di bagian Pengaturan aplikasi, tambahkan pengaturan baru bernama WEBSITES_PORT dan masukkan nomor port kustom Anda untuk nilainya.
PilihOK. Lalu pilih Simpan.

Membersihkan sumber daya
Bila tidak lagi diperlukan, gunakan portal Azure untuk menghapus sumber daya yang dibuat dalam artikel ini untuk menghindari biaya tak terduga.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang Spring dan Azure, lanjutkan ke pusat dokumentasi Spring di Azure.
Sumber Daya Tambahan:
Untuk informasi selengkapnya tentang cara menggunakan aplikasi Spring Boot di Azure, lihat artikel berikut:
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Azure dengan Java, lihat Azure for Java Developers dan Bekerja dengan Azure DevOps dan Java.
Untuk detail lebih lanjut tentang proyek sampel Spring Boot di Docker, lihat Memulai Spring Boot di Docker.
Untuk bantuan memulai dengan aplikasi Spring Boot Anda, lihat Spring Initializr di https://start.spring.io/.
Untuk informasi selengkapnya tentang memulai dengan membuat aplikasi Spring Boot sederhana, lihat di https://start.spring.io/.
Untuk contoh tambahan cara menggunakan gambar Docker kustom dengan Azure, lihat Menggunakan gambar Docker kustom untuk Aplikasi Web Azure di Linux.