使用服务器进行docker部署springboot前后端分离项目

使用服务器进行docker部署springboot前后端分离项目

1、进行项目打包

1-1、使用idea自带的maven进行打包

image-20250618195058183

1-2、生成jar包,在target目录下存在jar

image-20250618195141413

1-2-1、遇到的问题此步骤

使用如下maven导包插件会导致后期进行docker build时出现问题,无法使用该镜像启动容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.4</version>
<configuration>
<mainClass>com.lzz.controadmin.ControAdminApplication</mainClass>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

修改后的pom.xml文件。maven打包插件代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.4</version>
<configuration>
<!-- 替换为你的启动类 -->
<mainClass>com.lzz.controadmin.ControAdminApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 关键!会生成可执行JAR -->
</goals>
</execution>
</executions>
</plugin>

2、进行docker拉取mysql、redis、等项目所需的镜像,然后进行部署,我这边之前部署已经完成,没有相关截图,不做赘述。

3、进行前端vue项目打包使用*npm run build*

3-1、生成dist文件

image-20250618200141862

4、以上前端后端项目都打包完成过后,需要修改的mysql连接,Redis连接等等配置完成后,进行服务器docker构建

4-1、在服务器上进行文件夹创建,如我这为springboot

image-20250618200432239

4-2、进行Dockerfile文件编写

image-20250618200523958

4-3、进行docker镜像构建 列如:docker build . -t controAdmin:v1.0

image-20250618200716591

4-4、构建成功后进行docker 镜像查看 docker images

image-20250618200827726

4-5、使用镜像进行容器启动 docker run -d -p 8888:8888 –name mycontroad controadmin:V1.0

image-20250618200908283

5、进行前端nginx镜像拉取,使用方案为文件挂载方式

5-1、首先启动默认nginx镜像生成容器,将nginx内部的config,html,等文件拷贝到物理机(则服务器)目录上(可以自己创建的目录路径),我目前config文件未做更改,只将html静态文件覆盖。如下格式,:前面为物理机地址 :后面位容器内地址

1
docker run  -d --name ng1  -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /nginx/html:/usr/share/nginx/html -p82:80 nginx

5-2、容器启动成功进行公网ip带端口进行访问

image-20250618201715260

image-20250618201857772

6、致辞,前后端进行docker部署完成,此文档只列出一部分自己所遇到问题的内容。也仅仅是对docker容器部署的一个学习。


使用服务器进行docker部署springboot前后端分离项目
https://lz107488.github.io/ixiaoze/2025/06/22/毕设云部署-前后端分离springboot+vue+mysql+redis项目/
发布于
2025年6月22日
许可协议