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 容器名
相关推荐
养肥胖虎2 小时前
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
后端·nginx·docker·postgresql·go·部署
晓杰'3 小时前
从0到1实现 Balatro 游戏后端(2):NestJS框架搭建与项目结构设计
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
无所事事O_o3 小时前
二次验证码TOTP 使用说明
后端·二次验证码·谷歌验证器
ltl4 小时前
Multi-Head Attention:为什么要分多个头
后端
ltl4 小时前
Scaled Dot-Product:那个根号 d_k 是怎么来的'
后端
java1234_小锋5 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
折哥的程序人生 · 物流技术专研6 小时前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试
IT_陈寒7 小时前
为什么Java的Stream并行处理反而变慢了?
前端·人工智能·后端
孙6903427 小时前
swf 图片转 pdf
java·后端
长安不见7 小时前
从CompletionService的一个错误用法谈起
后端