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

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

说明

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

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

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

一、问题

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

二、环境

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

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

三、部署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"]

注意:
这里的/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即可,之后容器重新启动就实现了更新

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

四、更新jar包

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值