Rumah > Java > javaTutorial > teks badan

Amalan terbaik untuk membangunkan dan menggunakan aplikasi kontena menggunakan Docker dan Spring Boot

王林
Lepaskan: 2023-10-27 16:12:27
asal
728 orang telah melayarinya

使用Docker和Spring Boot开发和部署容器化应用的最佳实践

Amalan terbaik untuk membangun dan menggunakan aplikasi kontena menggunakan Docker dan Spring Boot

Pengenalan:
Dengan teknologi pengkomputeran awan yang popular dan pembangunan aplikasi kontena, pembangunan dan penggunaan aplikasi kontena telah menjadi semakin penting. Sebagai teknologi kontena yang popular, Docker boleh menyediakan persekitaran berjalan terpencil untuk aplikasi dan sangat memudahkan proses pembangunan dan penggunaan. Sebagai rangka kerja yang memudahkan pembangunan Java, Spring Boot boleh membina aplikasi Spring bebas dan boleh laku dengan cepat. Artikel ini akan menggabungkan Docker dan Spring Boot untuk memperkenalkan cara membangunkan dan menggunakan aplikasi kontena.

1 Pengenalan kepada Docker
Docker ialah platform kontena ringan yang menggunakan teknologi virtualisasi peringkat sistem pengendalian untuk membungkus aplikasi dan perpustakaan bergantungnya ke dalam bekas dalam persekitaran yang berbeza. Berikut ialah beberapa konsep asas Docker:

  1. Imej: Asas bekas Docker Ia ialah templat baca sahaja yang boleh digunakan untuk mencipta bekas Docker. Imej tersuai boleh dibuat dengan membina, memuat turun atau mengubah suai imej sedia ada.
  2. Bekas (Bekas): Contoh berjalan bagi imej Docker Setiap bekas diasingkan antara satu sama lain dan mempunyai sistem fail, ruang proses dan antara muka rangkaiannya sendiri.
  3. Repositori: Platform penyimpanan dan perkongsian untuk imej Docker Anda boleh mendapatkan imej daripada gudang dan memuat naik imej yang anda bina ke gudang.

2 Penyepaduan Spring Boot dengan Docker
Spring Boot menyediakan beberapa ciri untuk memudahkan pembangunan dan penyepaduan Docker. Berikut memperkenalkan beberapa amalan terbaik yang biasa digunakan untuk menyepadukan Spring Boot dan Docker.

  1. Buat fail JAR boleh laku
    Spring Boot boleh membungkus keseluruhan aplikasi ke dalam fail JAR boleh laku untuk memudahkan berjalan dalam persekitaran yang berbeza. Tambahkan pemalam berikut pada fail pom.xml:
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Salin selepas log masuk

Jalankan perintah mvn clean package untuk menjana fail JAR boleh laku. mvn clean package命令,即可生成可执行的JAR文件。

  1. 编写Dockerfile
    Dockerfile是用来构建Docker镜像的脚本,它包含了一系列的指令,用来描述如何构建镜像。以下是一个示例的Dockerfile:
FROM openjdk:8-jdk-alpine
COPY target/myapp.jar myapp.jar
EXPOSE 8080
CMD ["java", "-jar", "myapp.jar"]
Salin selepas log masuk
Salin selepas log masuk

其中,FROM指定了基础镜像为openjdk:8-jdk-alpine,COPY将可执行的JAR文件复制到镜像中,EXPOSE暴露容器的端口,CMD指定容器启动时运行的命令。

  1. 构建Docker镜像
    进入该Dockerfile所在的目录,运行如下命令构建镜像:
docker build -t myapp:1.0 .
Salin selepas log masuk
Salin selepas log masuk

其中,-t指定镜像的名称和版本号,.表示Dockerfile所在的目录。

  1. 启动Docker容器
    运行以下命令启动Docker容器:
docker run -d -p 8080:8080 myapp:1.0
Salin selepas log masuk
Salin selepas log masuk

其中,-d表示后台运行容器,-p指定宿主机与容器的端口映射。

三、应用示例
下面以一个简单的Spring Boot应用为例,演示如何使用Docker开发与部署容器化应用。

  1. 创建Spring Boot项目
    使用以下命令创建一个名为"myapp"的Spring Boot项目:
spring init -n=myapp -g=com.example -a=myapp -d=web
Salin selepas log masuk
  1. 添加Docker支持
    在项目根目录下创建一个名为Dockerfile的文件,并将以下内容复制到该文件中:
FROM openjdk:8-jdk-alpine
COPY target/myapp.jar myapp.jar
EXPOSE 8080
CMD ["java", "-jar", "myapp.jar"]
Salin selepas log masuk
Salin selepas log masuk
  1. 构建Docker镜像
    运行以下命令构建Docker镜像:
docker build -t myapp:1.0 .
Salin selepas log masuk
Salin selepas log masuk
  1. 启动Docker容器
    运行以下命令启动Docker容器:
docker run -d -p 8080:8080 myapp:1.0
Salin selepas log masuk
Salin selepas log masuk
  1. 访问应用
    在浏览器中输入http://localhost:8080
    1. Menulis Fail Docker
    Fail Docker ialah skrip yang digunakan untuk membina imej Docker Ia mengandungi satu siri arahan untuk menerangkan cara membina imej. Berikut ialah contoh Dockerfile:


    rrreee

    Antaranya, FROM menentukan imej asas sebagai openjdk:8-jdk-alpine, COPY kod >Salin fail JAR boleh laku ke imej, <code>EXPOSE mendedahkan port bekas dan CMD menentukan arahan untuk dijalankan apabila bekas bermula. #🎜🎜#
      #🎜🎜#Bina imej Docker #🎜🎜#Masukkan direktori di mana Fail Docker terletak dan jalankan arahan berikut untuk membina imej: #🎜🎜##🎜🎜#rrreee #🎜🎜#where , -t menentukan nama dan nombor versi imej, . menunjukkan direktori di mana Dockerfile berada. #🎜🎜#
        #🎜🎜#Mulakan bekas Docker #🎜🎜#Jalankan arahan berikut untuk memulakan bekas Docker: #🎜🎜##🎜🎜#rrreee#🎜🎜#Di mana, -d
    bermaksud menjalankan bekas di latar belakang dan -p menentukan pemetaan port antara hos dan bekas. #🎜🎜##🎜🎜#3 Contoh Aplikasi #🎜🎜# Berikut mengambil aplikasi Spring Boot yang ringkas sebagai contoh untuk menunjukkan cara menggunakan Docker untuk membangunkan dan menggunakan aplikasi kontena. #🎜🎜##🎜🎜##🎜🎜#Buat projek Spring Boot #🎜🎜#Gunakan arahan berikut untuk mencipta projek Spring Boot bernama "myapp": #🎜🎜##🎜🎜#rrreee
      #🎜🎜#Tambah sokongan Docker #🎜🎜#Buat fail bernama Dockerfile dalam direktori akar projek dan salin kandungan berikut ke dalam fail: #🎜🎜##🎜🎜#rrreee
        # 🎜🎜#Bina imej Docker #🎜🎜#Jalankan arahan berikut untuk membina imej Docker: #🎜🎜##🎜🎜#rrreee
          #🎜🎜#Mulakan bekas Docker #🎜🎜#Jalankan Perkara berikut arahan memulakan bekas Docker: #🎜🎜##🎜🎜#rrreee
            #🎜🎜#Lawati aplikasi #🎜🎜# Masukkan http://localhost:8080 dalam penyemak imbas kod> untuk mengakses aplikasi. #🎜🎜##🎜🎜##🎜🎜#Ringkasan: #🎜🎜#Artikel ini memperkenalkan amalan terbaik untuk membangunkan dan menggunakan aplikasi kontena menggunakan Docker dan Spring Boot. Dengan membungkus aplikasi Spring Boot ke dalam fail JAR boleh laku dan menulis Dockerfiles untuk membina imej, aplikasi kontena boleh dibangunkan dan digunakan dengan cepat. Menggunakan Docker boleh menyediakan persekitaran berjalan terpencil dan memastikan mudah alih dan kebolehpercayaan aplikasi. Saya harap artikel ini dapat membantu pembaca menggunakan Docker dan Spring Boot dengan lebih baik untuk membangunkan dan menggunakan aplikasi kontena. #🎜🎜#

    Atas ialah kandungan terperinci Amalan terbaik untuk membangunkan dan menggunakan aplikasi kontena menggunakan Docker dan Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:php.cn
    Kenyataan Laman Web ini
    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
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan