将SpringBoot、Mysql项目打jar包部署在Docker上

2023年 9月 28日 39.4k 0

1、配置pom将项目打成jar包

1.1、在pom文件中配置jar

4.0.0

    org.springframework.boot
    spring-boot-starter-parent
    2.5.1
     

com.bo
sims
0.0.1-SNAPSHOT

jar
sims

1.2、将yml中mysql的url 的IP地址修改

修改前:

url: jdbc:mysql://localhost:3306/sims?useUnicode=true&characterEncoding=utf-8

修改后:(将localhost修改成linux或者云服务器的ip地址)

url: jdbc:mysql://:3306/sims?useUnicode=true&characterEncoding=utf-8

原因:

因为后续部署到docker中,mysql与jar打成的镜像属于两个容器相互隔离,jar文件运行时访问的地址需要修改成docker中mysql的ip地址

1.3、将项目进行打包
先clean后在install,随后在target目录中找到***.jar

image.png

2、在linux中配置文件

2.1、在linux中合适位置上传jar、sql文件如图:

image.png

3、安装mysql

1、进入使用docker拉取mysql镜像

sudo docker pull mysql

2、运行mysql镜像

sudo docker run -d --name mysql  -p 3306:3306 mysql

3、将sql文件cp到mysql容器中

sudo docker cp  :/home/

4、进入mysql

sudo docker exec -it mysql-container mysql -uroot -p 回车后输入密码

5、创建好数据库后选择数据库并执行sql文件

source /home/**.sql

tips:此处sql文件可能执行出现缺失,可多执行几次

6、退出

exit

4、构建jar包的镜像

1、在jar包同级目录中创建Dockerfile文件

#指定jdk版本
FROM openjdk:8
#作者
MAINTAINER YJ
#将jar包添加到容器中并更名为sims.jar
ADD sims-0.0.1-SNAPSHOT.jar sims.jar
# 容器暴露的端口
EXPOSE 8080
# 容器启动之后执行的命令
ENTRYPOINT ["java","-jar","sims.jar"]

2、构建镜像

docker build -t sims .

为镜像名可自行修改

3、运行镜像并连接mysql

sudo docker run -d --name sims  -p 8080:8080 sims --link mysql:mysql

正常启动:本地通过访问linux或者云服务器ip:8080即可访问项目

相关文章

win10优化驱动器怎么启动
Windows 11:如何为 Wi-Fi 启用随机 MAC 地址
如何在 Windows 11 上连接和管理安卓与 iPhone 手机
Pearcleaner:Mac 上的免费开源应用清理工具
win10系统怎么关闭通知
KB5040527:Windows 11 可选更新发布

发布评论