新聞中心
準(zhǔn)備工作
在開(kāi)始制作Docker鏡像之前,我們需要確保已經(jīng)安裝了Docker,接下來(lái),我們將創(chuàng)建一個(gè)簡(jiǎn)單的SpringBoot(2.3)應(yīng)用,并將其打包成一個(gè)可執(zhí)行的JAR文件,以下是創(chuàng)建一個(gè)簡(jiǎn)單的SpringBoot應(yīng)用的步驟:

1、創(chuàng)建一個(gè)新的Maven項(xiàng)目,并在pom.xml文件中添加以下依賴:
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin
2、在src/main/java目錄下創(chuàng)建一個(gè)名為Application.java的文件,并添加以下代碼:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3、在src/main/resources目錄下創(chuàng)建一個(gè)名為application.properties的文件,并添加以下內(nèi)容:
server.port=8080
4、在項(xiàng)目根目錄下運(yùn)行以下命令,以打包應(yīng)用為可執(zhí)行的JAR文件:
mvn clean package
創(chuàng)建Dockerfile
接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)Dockerfile,用于構(gòu)建包含我們的SpringBoot應(yīng)用的Docker鏡像,在項(xiàng)目根目錄下創(chuàng)建一個(gè)名為Dockerfile的文件,并添加以下內(nèi)容:
使用官方的Java運(yùn)行時(shí)基礎(chǔ)鏡像 FROM openjdk:8-jdk-alpine as build-stage 將項(xiàng)目的jar文件復(fù)制到容器中的/app目錄下,并設(shè)置工作目錄為/app COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar WORKDIR /app ENTRYPOINT ["java","-jar","/app/demo.jar"]
構(gòu)建Docker鏡像
在項(xiàng)目根目錄下運(yùn)行以下命令,以構(gòu)建包含我們的SpringBoot應(yīng)用的Docker鏡像:
docker build -t my-springboot-app --build-arg JAR_FILE=target/demo-0.0.1-SNAPSHOT.jar .
運(yùn)行Docker容器并查看日志輸出
運(yùn)行以下命令,以啟動(dòng)一個(gè)新的Docker容器,并查看其日志輸出:
docker run -d --name my-springboot-container my-springboot-app > logs.txt & tail -f logs.txt & wait $! 將日志輸出重定向到logs.txt文件,并實(shí)時(shí)查看其內(nèi)容(需要按Ctrl+C停止查看)
問(wèn)題與解答
1、Q:如何在Docker容器中運(yùn)行多個(gè)實(shí)例?A:可以使用docker run命令多次啟動(dòng)容器,docker run -d --name my-springboot-container1 my-springboot-app && docker run -d --name my-springboot-container2 my-springboot-app,這將同時(shí)啟動(dòng)兩個(gè)名為my-springboot-container1和my-springboot-container2的容器。
當(dāng)前名稱:springboot構(gòu)建docker鏡像
文章起源:http://m.fisionsoft.com.cn/article/djjehod.html


咨詢
建站咨詢
