• 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名称得保持一致
    在这里插入图片描述

  • 相关阅读:
    mit6.824lab2D-Debug记录
    Qt之数据库:MySql驱动编译
    网页大作业代码自取【HTML+CSS制作美味糖果网站】
    微服务入门(RestTemplate、Eureka、Nacos、Feign、Gateway)
    北斗导航 | GNSS观测模型(公式推导)
    Openresty人机验证流程
    AVProVideo☀️四、视频播放案例
    成都理工大学_Python程序设计_第8章
    那么我们应该如何优化Youtube的视频呢?
    Echarts柱状图数据过多设置滚动条效果
  • 原文地址:https://blog.csdn.net/qq_40298902/article/details/126334098