springboot构建docker镜像

准备工作

在开始制作Docker镜像之前,我们需要确保已经安装了Docker,接下来,我们将创建一个简单的SpringBoot(2.3)应用,并将其打包成一个可执行的JAR文件,以下是创建一个简单的SpringBoot应用的步骤:

1、创建一个新的Maven项目,并在pom.xml文件中添加以下依赖:


    
        org.springframework.boot
        spring-boot-starter-web
    


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

2、在src/main/java目录下创建一个名为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目录下创建一个名为application.properties的文件,并添加以下内容:

server.port=8080

4、在项目根目录下运行以下命令,以打包应用为可执行的JAR文件:

mvn clean package

创建Dockerfile

接下来,我们需要创建一个Dockerfile,用于构建包含我们的SpringBoot应用的Docker镜像,在项目根目录下创建一个名为Dockerfile的文件,并添加以下内容:

使用官方的Java运行时基础镜像
FROM openjdk:8-jdk-alpine as build-stage
将项目的jar文件复制到容器中的/app目录下,并设置工作目录为/app
COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar
WORKDIR /app
ENTRYPOINT ["java","-jar","/app/demo.jar"]

构建Docker镜像

在项目根目录下运行以下命令,以构建包含我们的SpringBoot应用的Docker镜像:

docker build -t my-springboot-app --build-arg JAR_FILE=target/demo-0.0.1-SNAPSHOT.jar .

运行Docker容器并查看日志输出

运行以下命令,以启动一个新的Docker容器,并查看其日志输出:

docker run -d --name my-springboot-container my-springboot-app > logs.txt & tail -f logs.txt & wait $!  将日志输出重定向到logs.txt文件,并实时查看其内容(需要按Ctrl+C停止查看)

问题与解答

1、Q:如何在Docker容器中运行多个实例?A:可以使用docker run命令多次启动容器,docker run -d --name my-springboot-container1 my-springboot-app && docker run -d --name my-springboot-container2 my-springboot-app,这将同时启动两个名为my-springboot-container1和my-springboot-container2的容器。

网页名称:springboot构建docker镜像
转载注明:http://www.shufengxianlan.com/qtweb/news43/379893.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联