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 容器名
相关推荐
codeGoogle13 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
滴滴答答哒14 小时前
VUE3+element-plus MultiSelect 多选下拉组件
前端·javascript·vue.js
其美杰布-富贵-李15 小时前
04 watch 与 Vue 响应式数据流
前端·javascript·vue.js
DLYSB_15 小时前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯
markinmarkin16 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
橙子家17 小时前
使用方法 ToDictionary() 来优化查询时间复杂度:O(N*M) -> O(1*M)【C# 基础】
后端
IT_陈寒17 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端
用户83562907805117 小时前
Python Word 转 PDF 和 PDF 转 Word 指南
后端·python
用户83562907805118 小时前
如何使用 Python 加密和保护 Word 文档
后端·python
其美杰布-富贵-李18 小时前
03 ref、reactive 与 computed 响应式数据
前端·javascript·vue.js