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

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

相关推荐
我是一只代码狗25 分钟前
springboot中使用线程池
java·spring boot·后端
ladymorgana37 分钟前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
hello早上好38 分钟前
JDK 代理原理
java·spring boot·spring
有点小帅得平哥哥40 分钟前
本地部署index-tts并且通过docker做成镜像
docker·index-tts
PanZonghui43 分钟前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
沉着的码农1 小时前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式
zyxzyx6661 小时前
Flyway 介绍以及与 Spring Boot 集成指南
spring boot·笔记
小张是铁粉3 小时前
docker学习二天之镜像操作与容器操作
学习·docker·容器
一头生产的驴3 小时前
java整合itext pdf实现自定义PDF文件格式导出
java·spring boot·pdf·itextpdf
烟雨书信3 小时前
Docker文件操作、数据卷、挂载
运维·docker·容器