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 容器名
相关推荐
沃夫上校39 分钟前
Feign调Post接口异常:Incomplete output stream
java·后端·微服务
LeeGe42 分钟前
SpringAOP中@within和@annotation以及 @within和@target的区别
后端
一个平平无奇的Java小学生1 小时前
Spring Cloud Alibaba 微服务从入门到生产部署完整指南
后端
一个平平无奇的Java小学生1 小时前
Spring Cloud Alibaba 微服务实战指南
后端
老家的回忆1 小时前
jsPDF和html2canvas生成pdf,组件用的elementplus,亲测30多页,20s实现
前端·vue.js·pdf·html2canvas·jspdf
张小洛1 小时前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
执笔诉情殇〆1 小时前
springboot集成达梦数据库,取消MySQL数据库,解决问题和冲突
数据库·spring boot·mysql·达梦
小王子10241 小时前
Django+DRF 实战:从异常捕获到自定义错误信息
后端·django·web开发
hdsoft_huge1 小时前
Spring Boot 高并发框架实现方案:数字城市的奇妙之旅
java·spring boot·后端
hackchen2 小时前
从0到1解锁Element-Plus组件二次封装El-Dialog动态调用
前端·vue.js·elementui