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

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

相关推荐
whltaoin11 分钟前
Spring Boot 常用注解分类整理(含用法示例)
java·spring boot·后端·注解·开发技巧
早睡冠军候选人38 分钟前
K8s学习----StorageClass:实现存储资源的动态管理
运维·学习·云原生·容器·kubernetes
稚辉君.MCA_P8_Java1 小时前
Git 基础 - 查看提交历史
spring boot·git·微服务·云原生·kubernetes
不会算法的小灰1 小时前
Spring Boot 实现邮件发送功能:整合 JavaMailSender 与 FreeMarker 模板
java·spring boot·后端
come112342 小时前
从PHP到Spring Boot:思维的转变与入门实战 (指南二)
开发语言·spring boot·php
小咕聊编程2 小时前
【含文档+PPT+源码】基于SpringBoot+Vue的停车场管理系统
vue.js·spring boot·后端·毕业设计·停车场
武昌库里写JAVA8 小时前
Java设计模式之工厂模式
java·vue.js·spring boot·后端·sql
EnCi Zheng11 小时前
Spring Boot 4.0.0-SNAPSHOT @Configuration 问题解决指南
java·spring boot·spring
行云流水剑12 小时前
【学习记录】宝塔面板 + Docker 快速部署 RustDesk 自建远程控制服务器
服务器·docker·开源·p2p·rustdesk
一只游鱼12 小时前
vue+springboot项目部署到服务器
服务器·vue.js·spring boot·部署