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容器即可生效。

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

相关推荐
Elcker7 小时前
Springboot+idea热更新
spring boot·后端·intellij-idea
悟纤8 小时前
Docker 操作容器[SpringBoot之Docker实战系列] - 第538篇
spring boot·docker·容器
一个有女朋友的程序员9 小时前
Spring Boot 整合 Smart-Doc:零注解生成 API 文档,告别 Swagger
java·spring boot·smart-doc
苹果醋39 小时前
AI大模型竞赛升温:百度发布文心大模型4.5和X1
java·运维·spring boot·mysql·nginx
张乔2410 小时前
spring boot项目整合mybatis实现多数据源的配置
java·spring boot·多数据源
美好的事情能不能发生在我身上10 小时前
苍穹外卖Day11代码解析以及深入思考
java·spring boot·后端·spring·架构
Tony66668888810 小时前
【基于阿里云上Ubantu系统部署配置docker】
阿里云·docker·云计算
不良手残10 小时前
Redisson + Lettuce 在 Spring Boot 中的最佳实践方案
java·spring boot·redis·后端
一线大码11 小时前
SpringBoot 和 MySQL 的事务隔离级别关系
spring boot·后端·mysql