Rumah  >  Artikel  >  Java  >  Bina aplikasi asli awan dari awal menggunakan Docker dan Spring Boot

Bina aplikasi asli awan dari awal menggunakan Docker dan Spring Boot

王林
王林asal
2023-10-20 14:16:58486semak imbas

从零开始,使用Docker和Spring Boot构建云原生应用

Bina aplikasi asli awan dari awal menggunakan Docker dan Spring Boot

Abstrak: Aplikasi asli awan telah menjadi trend dalam pembangunan perisian moden Dengan menggunakan teknologi kontena dan seni bina perkhidmatan mikro, penggunaan pantas dan penskalaan boleh dicapai, dan aplikasi boleh dipertingkatkan kebolehpercayaan dan kebolehselenggaraan. Artikel ini akan memperkenalkan cara menggunakan Docker dan Spring Boot untuk membina aplikasi asli awan dan memberikan contoh kod khusus.

1. Pengenalan latar belakang
Cloud Native Application merujuk kepada aplikasi yang direka bentuk dan dibina dalam persekitaran awan, yang boleh menggunakan sepenuhnya ciri awan, seperti penskalaan elastik, penggunaan automatik dan kontena. Aplikasi asli awan mengguna pakai seni bina perkhidmatan mikro, yang membahagikan aplikasi yang kompleks kepada berbilang perkhidmatan kecil dan bebas Setiap perkhidmatan berjalan dalam bekas bebas, mencapai gandingan longgar dan ciri berskala tinggi.

Docker ialah teknologi kontena ringan yang boleh membungkus aplikasi dan kebergantungannya ke dalam bekas mudah alih, mencapai penggunaan pantas, kebolehulangan dan mudah alih aplikasi. Spring Boot ialah rangka kerja Java yang pantas dibangunkan dan mudah digunakan, menjadikannya mudah untuk membina aplikasi Spring bebas gred pengeluaran.

2. Persediaan
Sebelum mula membina aplikasi asli awan, kita perlu melengkapkan persediaan berikut:

  1. Pasang Docker: Muat turun dan pasang Docker pada tapak web rasmi untuk memastikan perkhidmatan Docker berjalan seperti biasa.
  2. Buat projek Spring Boot: Gunakan IDE untuk mencipta projek Spring Boot baharu, secara pilihan membina dengan Maven atau Gradle.

3. Bina imej Docker

  1. Buat fail bernama Dockerfile dalam direktori akar projek Spring Boot untuk mentakrifkan peraturan pembinaan imej Docker.
  2. Edit fail Docker dan tambah kandungan berikut:
# 使用基础的Java镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录
WORKDIR /app

# 复制应用和依赖到镜像中
COPY target/myapp.jar app.jar

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]
  1. Dalam baris arahan, masukkan direktori akar projek dan laksanakan arahan berikut untuk membina imej Docker:
docker build -t myapp .

Ini akan membina imej Docker bernama myapp secara tempatan , di mana Mengandungi aplikasi Spring Boot kami.

4. Gunakan aplikasi menggunakan bekas Docker

  1. Dalam baris arahan, laksanakan arahan berikut untuk menjalankan bekas Docker dan petakan port 8080 kontena ke port 8080 hos:
docker run -p 8080:8080 myapp
  1. Buka http://www. //localhost:8080, anda boleh melihat aplikasi Spring Boot digunakan dalam bekas Docker.

5. Gunakan berbilang perkhidmatan mikro
Aplikasi asli awan biasanya terdiri daripada berbilang perkhidmatan mikro dan setiap perkhidmatan mikro dijalankan dalam bekas bebas. Di bawah ini kami akan menunjukkan cara menggunakan dua perkhidmatan mikro dan berkomunikasi.

  1. Buat projek Spring Boot kedua dan ikut langkah tiga untuk membina imej Docker.
  2. Dalam kod projek Spring Boot yang pertama, tambahkan antara muka API untuk memanggil perkhidmatan mikro kedua. Kod sampel adalah seperti berikut:
@RestController
public class MyController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/")
    public String hello() {
        String url = "http://second-service:8080/";
        return restTemplate.getForObject(url, String.class);
    }
}
  1. Ubah suai Dockerfile projek Spring Boot pertama dan tambah kandungan berikut:
# 使用基础的Java镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录
WORKDIR /app

# 复制应用和依赖到镜像中
COPY target/myapp.jar app.jar

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]
  1. Ubah suai Dockerfile projek Spring Boot kedua dan tambah kandungan berikut:
# 使用基础的Java镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录
WORKDIR /app

# 复制应用和依赖到镜像中
COPY target/second-app.jar app.jar

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]
  1. Dalam kod pertama projek Spring Boot, tambahkan konfigurasi berikut untuk mencipta RestTemplate:
@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

6. Ringkasan
Artikel ini memperkenalkan cara menggunakan Docker dan Spring Boot untuk membina aplikasi asli awan dari awal. Dengan menggunakan Docker untuk membungkus aplikasi ke dalam imej kontena, penggunaan pantas dan penskalaan boleh dicapai, dan kebolehpercayaan dan kebolehselenggaraan aplikasi boleh dipertingkatkan. Dengan menggunakan Spring Boot untuk membina seni bina perkhidmatan mikro, gandingan longgar dan ciri berskala tinggi boleh dicapai.

Di atas ialah contoh mudah, aplikasi asli awan sebenar mungkin melibatkan komponen dan konfigurasi yang lebih kompleks. Saya harap artikel ini dapat membantu pembaca memahami cara menggunakan Docker dan Spring Boot untuk membina aplikasi asli awan, dan menyediakan beberapa contoh kod asas. Pembaca boleh mengembangkan dan menyesuaikan mengikut keperluan mereka sendiri untuk mencapai seni bina dan fungsi aplikasi yang lebih kompleks.

Atas ialah kandungan terperinci Bina aplikasi asli awan dari awal menggunakan Docker dan Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn