springboot+vue 开发记录(九)后端打包部署运行

本篇文章主要内容是后端项目写好了,怎么打包部署到服务器上运行。

文章目录

      • [1. 在服务器上安装Docker](#1. 在服务器上安装Docker)
      • [2. 在Docker中装MySQL](#2. 在Docker中装MySQL)
      • [3. 在Docker中设置网桥,实现容器间的网络通信](#3. 在Docker中设置网桥,实现容器间的网络通信)
      • [4. 修改后端配置文件](#4. 修改后端配置文件)
      • [5. 修改pom.xml文件](#5. 修改pom.xml文件)
      • [6. 打包](#6. 打包)
      • [7. 编写DockerFile文件](#7. 编写DockerFile文件)
      • [8. 上传文件到服务器](#8. 上传文件到服务器)
      • [9. 镜像生成](#9. 镜像生成)
      • [10. Docker运行镜像](#10. Docker运行镜像)
      • [11. 查看日志](#11. 查看日志)

1. 在服务器上安装Docker

参考其他文章,安装Docker都是一样一样的

2. 在Docker中装MySQL

这个也可以参考其他文章

3. 在Docker中设置网桥,实现容器间的网络通信

这里主要是Mysql,在mysql运行后:

shell 复制代码
# 查看网桥列表
docker network ls
# 新建网桥
docker network create 网桥名字
# 配置网桥
docker network connect 网桥名字 容器名字

# 查看容器网络
docker inspect 容器名字

容器就算是连上网了。

4. 修改后端配置文件

把mysql数据库主机改改,由于我们的项目是运行在docker上的,由于已经实现了容器间网络通信,所以mysql主机部分就改成容器名。

5. 修改pom.xml文件

这里主要是在pom.xml文件里添加打包配置

xml 复制代码
<!--打包-->
    <packaging>jar</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--这里写上main方法所在类的路径-->
                <configuration>
                    <mainClass>com.game.server.ServerApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

6. 打包

这样就有包了:

7. 编写DockerFile文件

8. 上传文件到服务器

我这里用scp命令上传,这里面的路径用你自己的路径

shell 复制代码
scp server/src/Dockerfile 你的服务器号:
scp server/target/server-1.0-SNAPSHOT.jar 你的服务器号:
scp common/target/common-1.0-SNAPSHOT.jar 你的服务器号:

这样就能上传到你的服务器里了。

9. 镜像生成

到服务器里。

输入命令

shell 复制代码
docker build -t 镜像名(自己设置):版本号 .    
注意上面最后有个 . 号,这个是你的DockerFile文件上传到云服务器里的目录路径。

接下来它就开始给你打包镜像了。

10. Docker运行镜像

输入命令

shell 复制代码
docker run -d --name 容器名字(你自己取) -p 8080:8080 --network 网络网桥名 镜像名 

这里要说明:

-d 后台运行

--name 名字

-p 给外界暴露的端口:里面的端口

--network 网络

其中网络名就是你前面(第3步)里创建的网桥名字。

镜像名则是第9步创建的名字。

11. 查看日志

输入以下指令,就可以查看容器日志了

shell 复制代码
docker logs -f 容器名
相关推荐
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
学长毕设3 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒4 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
captain3766 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
IT_陈寒8 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
泡海椒8 小时前
05-雷达图多维画像-信用评级多维画像
后端
王中阳Go8 小时前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
大哥43098 小时前
Modbus 的"字序":一个配错就变成天文数字,或者干脆变成 0
后端
岩钧8 小时前
New API 源码解析:一个生产级 AI 网关的架构与实现
后端
学到老活到老8 小时前
第 24 集:配置文件写了 80,Spring Boot 为什么读到 90?
java·后端·spring