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 小时前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
一 乐6 小时前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家政服务管理系统
云原生指北7 小时前
Apple Container Machine:把 Linux 搬进 Mac
macos·docker
蘋天纬地8 小时前
k8s的控制平面是什么,有什么作用
容器·kubernetes
老马聊技术10 小时前
AI对话功能之SpringBoot整合Vue3
vue.js·人工智能·spring boot·后端
码不停蹄的玄黓11 小时前
SpringBoot 全局异常处理器实现
java·spring boot·后端
隐层漫游者12 小时前
2026全网最细Docker容器化实战!从安装配置到Milvus向量数据库部署,一文掌握核心精髓(建议收藏)
docker
可乐ea13 小时前
【Spring Boot + MyBatis|第7篇】JWT 登录认证与拦截器实现
java·spring boot·后端·mybatis·状态模式
加加and减减13 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
我登哥MVP14 小时前
SpringCloud Alibaba 核心组件解析:服务注册与发现(Nacos)
java·spring boot·后端·spring·spring cloud·java-ee·maven