• docker部署springboot项目(更新无需重新build)


    docker部署springboot项目(更新无需重新build)

    说明

    更新时间:2022/8/14 17:33

    本文记录了利用docker部署springboot项目的另一种姿势

    本文仅为记录学习轨迹,如有侵权,联系删除

    一、问题

    之前的文章记录过利用docker部署springboot项目,使用的方式是直接将jar一起打包,构建成一个新的镜像,再运行镜像的方式进行部署,然而这里有一种缺点,就是后面更新jar包,都需要删掉旧的镜像,重新build,再运行,为了解决这种问题,下面列了部署springboot项目的另一种姿势。

    二、环境

    以下是本人此次搭建的环境

    部署方式:docker
    服务器:linux服务器
    服务器操作系统:CentOS 7
    
    • 1
    • 2
    • 3

    三、部署jar包

    先创建springboot项目,并且确保可以运行,下面简单写了一个接口
    在这里插入图片描述
    在这里插入图片描述
    再将该项目进行maven打包生成一个jar,然后在linux服务器上面创建一个目录存放该jar包,如下图
    在这里插入图片描述
    然后在linux服务器上面创建一个目录,用于存放Dockerfile文件,如下图
    在这里插入图片描述
    Dockerfile里面的内容如下

    FROM  java
    EXPOSE 8001
    ENTRYPOINT ["java","-Xmx256m","-Xms256m","-jar","/data/java/jar/springboot-docker-test.jar"]
    
    • 1
    • 2
    • 3

    注意:
    这里的/data/java/jar/springboot-docker-test.jar路径是后续容器里面运行的jar包的路径,路径可以自己随便定义,后面我们会在宿主机上面把这个路径挂载出来即可

    在Dockerfile路径下构建镜像
    在这里插入图片描述
    构建成功后,启动容器

    docker run -d -p 8001:8001 --name test1 -it -v /root/data/docker_data/springboot-docker-test/jar:/data/java/jar  springboot-test
    
    注:
    (1)重点说明一下”-v /root/data/docker_data/springboot-docker-test/jar:/data/java/jar“这个命令,/root/data/docker_data/springboot-docker-test/jar这个路径是我们把打包的jar上传到linux服务器上面的路径,/data/java/jar这个路径是Dockerfile文件里面执行命令的路径(ENTRYPOINT),意思就是把宿主机的jar路径挂载进容器里面去,这样启动的时候用的jar包就是宿主机的jar包,后续更新jar的时候,只要替换宿主机的jar即可,之后容器重新启动就实现了更新
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    启动后访问路径
    在这里插入图片描述

    四、更新jar包

    例如在原来的代码上,又新加了个接口
    在这里插入图片描述
    然后重新maven打包,再把jar替换掉服务器上面的jar即可,记得jar名称得保持一致
    在这里插入图片描述

  • 相关阅读:
    猿创征文|瑞吉外卖——移动端_手机端展示
    ExtJS - UI组件 - Grid
    Kendo UI Grid 批量编辑使用总结
    基于瞬时无功功率ip-iq的谐波信号检测Simulink仿真
    Java-day15(Java常用类)
    鼠标点击操作实际上如何传递到显示器?【全流程图解】
    ts视频文件转为mp4(FFmpeg)
    讲座1:影像重建_脑疾病_大脑解码
    Flink 1.13 源码解析——TaskManager启动流程概览
    GCP之Google Cloud Infrastructure
  • 原文地址:https://blog.csdn.net/qq_40298902/article/details/126334098