Docker快速构建并启动Springboot程序,快速发布和上线/

Docker部署SpringBoot

1.工作木目录:/mnts/jar_work/vx_kefu/ruoyi_ruoyiwechatinfo

里面的目录是lib文件夹,logs文件夹,Dockerfile文件,SpringBoot的jar包,start.sh的命令,stop.sh的命令,tpid文件进程。

2.

Dockerfile的写法:

bash 复制代码
FROM eclipse-temurin:17-jdk-jammy
WORKDIR /mnts/jar_work/vx_kefu/ruoyi_ruoyiwechatinfo
COPY ruoyi-wechatinfo.jar /mnts/jar_work/vx_kefu/ruoyi_ruoyiwechatinfo/ruoyi-wechatinfo.jar
COPY lib /mnts/jar_work/vx_kefu/ruoyi_ruoyiwechatinfo/lib
EXPOSE 9301
ENTRYPOINT ["java","-jar","-Dloader.path=./lib","/mnts/jar_work/vx_kefu/ruoyi_ruoyiwechatinfo/ruoyi-wechatinfo.jar"]

start.sh的写法:

bash 复制代码
#/bin/sh
PID=$(cat tpid)
kill -9 $PID
cat nohup.out
nohup java -Xms350m -Xmx350m  -Dloader.path=./libs -jar *.jar > nohup.out &
echo $! > tpid
echo As boot Start Success!

stop.sh的写法:

bash 复制代码
#!/bin/sh
PID=$(cat tpid)
kill -9 $PID

5.正常构建出一个dockerfile的镜像

docker build -t my-spring-app:jdk17_ruoyijob .

6.挂载工作目录宿主机和docker容器的关联

docker run -d -p 9400:9400 -v /mnts/jar_work/vx_kefu/ruoyi_job:/mnts/jar_work/vx_kefu/ruoyi_job --name ruoyi-job my-spring-app:jdk17_ruoyijob

总结:最终可以直接上传到我们的目录中,重启对应的docker容器即可生效。

是不是很方便,快学起来了吧。

相关推荐
摇滚侠3 小时前
Spring Boot 3零基础教程,新特性 ProblemDetails,笔记50
spring boot·笔记
朝新_5 小时前
【SpringBoot】详解Maven的操作与配置
java·spring boot·笔记·后端·spring·maven·javaee
行思理6 小时前
Docker 应该如何学习 分四个阶段
学习·docker·容器
..Move...7 小时前
Docker应用部署tomcat和nginx
nginx·docker·tomcat
程序定小飞8 小时前
基于springboot的电影评论网站系统设计与实现
java·spring boot·后端
苹果醋38 小时前
JAVA面试汇总(二)多线程(五)
运维·vue.js·spring boot·nginx·课程设计
兜兜风d'9 小时前
RabbitMQ 持久性详解
spring boot·分布式·rabbitmq·1024程序员节
Jenwein9 小时前
Linux中使用docker的网络问题
后端·docker
问道飞鱼10 小时前
【微服务组件】Springboot结合Dubbo实现RPC调用
spring boot·微服务·rpc·dubbo
I'm Jie11 小时前
(二)Gradle 依赖仓库及安全凭证配置
java·spring boot·spring·gradle·maven