SpringBoot项目Docker部署三种方式

 更新时间:2024年08月31日 11:59:18   作者:你是我的天晴  
本文主要介绍了SpringBoot项目Docker部署三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一种:直接拷贝jar到服务器部署

1.增加docker配置文件

新建Dockerfile文件,负责Docker的配置

FROM openjdk:21

#ENV timezone
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone

# WORKDIR
WORKDIR /app

#Copy command, copy files or directories from the context directory to the specified path in the container
COPY spring-monitoring.jar /app/spring-monitoring.jar

#EXPOSE 18081
ENTRYPOINT ["java", "-jar", "-Xmx512m", \
            "-XX:-OmitStackTraceInFastThrow", \
            "spring-monitoring.jar", "--logging.file.path=/app"]


#"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",\

2.上传jar包到远程目录:

创建目录命令:mkdir -p /apps/spring

把自己的jar包和dockerfile文件上传到创建的目录

在这里插入图片描述

3.build新的镜像

docker build -t dtb/spring-monitoring:1.0 .
docker images #查看刚构建的镜像

在这里插入图片描述

4.启动容器:

docker run -d --name monitoring --restart always --net host dtb/spring-monitoring:1.0

在这里插入图片描述

docker安装及docker常用命令

二种:SpringBoot 通过maven插件实现docker镜像打包

此方法需要开启远程访问2375 端口不太安全,如果需要安全的话还需要Docker启用TLS加密
这里暂不做介绍

三种:idea 链接docker直接构建镜像启动容器

在项目根目录下增加docker配置文件

FROM openjdk:21

#ENV timezone
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone

# WORKDIR
WORKDIR /app

#Copy command, copy files or directories from the context directory to the specified path in the container
COPY target/spring-monitoring.jar /app/spring-monitoring.jar

#EXPOSE 18081
ENTRYPOINT ["java", "-jar", "-Xmx512m", \
            "-XX:-OmitStackTraceInFastThrow", \
            "spring-monitoring.jar", "--logging.file.path=/app"]


下载插件

在这里插入图片描述

运行配置

在这里插入图片描述

点击服务器 三个点

在这里插入图片描述

点击加号,选ssh,ssh后面的三个加号配置链接服务器

在这里插入图片描述

这里的身份验证类型是密码

在这里插入图片描述

在这里插入图片描述

Only key-pair ssh auth type is supported for docker connections
刚才使用ssh账号密码的方式,docker链接需要用ssh key

在这里插入图片描述

点测试连接 输入登录用户的密码

在这里插入图片描述

在这里插入图片描述

点确定

在这里插入图片描述

可以添加不同的运行选项,包括绑定端口、绑定挂载、运行选项等

在这里插入图片描述

添加执行前编译

在这里插入图片描述

选择工作目录(当前自己项目的目录)及填写命令行,命令:clean package -U -DskipTests

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

执行

在这里插入图片描述

在这里插入图片描述

成功

在这里插入图片描述

到此这篇关于SpringBoot项目Docker部署三种方式的文章就介绍到这了,更多相关SpringBoot Docker部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 深入理解happens-before和as-if-serial语义

    深入理解happens-before和as-if-serial语义

    本文大部分整理自《Java并发编程的艺术》,温故而知新,加深对基础的理解程度。下面可以和小编来一起学习下
    2019-05-05
  • 详解Java中方法next()和nextLine()的区别与易错点

    详解Java中方法next()和nextLine()的区别与易错点

    这篇文章主要介绍了详解Java中方法next()和nextLine()的区别与易错点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringMVC适配器模式作用范围介绍

    SpringMVC适配器模式作用范围介绍

    适配器这个词我们应该很熟悉,天天都在使用,手机充电时,电源线头头就叫电源适配器,干什么用的呢?把220V电压转换成手机充电时使用的电压,那么适配器是不是很好理解了,下面看一下
    2023-04-04
  • 解决因jdk版本引起的TypeNotPresentExceptionProxy异常

    解决因jdk版本引起的TypeNotPresentExceptionProxy异常

    这篇文章介绍了解决因jdk版本引起的TypeNotPresentExceptionProxy异常的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • MyBatis异常java.sql.SQLSyntaxErrorException的问题解决

    MyBatis异常java.sql.SQLSyntaxErrorException的问题解决

    使用mybatis插入数据时出现java.sql.SQLSyntaxErrorException异常,本文就来介绍一下MyBatis异常的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • SpringMVC框架实现上传图片的示例代码

    SpringMVC框架实现上传图片的示例代码

    本篇文章主要介绍了SpringMVC框架实现上传图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • mybatis 连接mysql数据库 tinyint 为boolean类型详解

    mybatis 连接mysql数据库 tinyint 为boolean类型详解

    这篇文章主要介绍了mybatis 连接mysql数据库 tinyint 为boolean类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • SpringMVC bean加载控制的实现分析

    SpringMVC bean加载控制的实现分析

    SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发
    2023-02-02
  • springboot表单提交之validator校验

    springboot表单提交之validator校验

    在前台表单验证的时候,通常会校验一些数据的可行性,比如是否为空,长度,身份证,邮箱等等,这篇文章主要给大家介绍了关于springboot表单提交之validator校验的相关资料,需要的朋友可以参考下
    2021-05-05
  • spring如何实现依赖注入DI(spring-test方式)

    spring如何实现依赖注入DI(spring-test方式)

    本文主要介绍如何实现spring 的依赖注入,并且浅显的讲述一下注入需要注意的事项。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论