本篇文章主要内容是后端项目写好了,怎么打包部署到服务器上运行。
文章目录
- 1. 在服务器上安装Docker
- 2. 在Docker中装MySQL
- 3. 在Docker中设置网桥,实现容器间的网络通信
- 4. 修改后端配置文件
- 5. 修改pom.xml文件
- 6. 打包
- 7. 编写DockerFile文件
- 8. 上传文件到服务器
- 9. 镜像生成
- 10. Docker运行镜像
- 11. 查看日志
1. 在服务器上安装Docker
参考其他文章,安装Docker都是一样一样的
2. 在Docker中装MySQL
这个也可以参考其他文章
3. 在Docker中设置网桥,实现容器间的网络通信
这里主要是Mysql,在mysql运行后:
# 查看网桥列表
docker network ls
# 新建网桥
docker network create 网桥名字
# 配置网桥
docker network connect 网桥名字 容器名字# 查看容器网络
docker inspect 容器名字
容器就算是连上网了。
4. 修改后端配置文件
把mysql数据库主机改改,由于我们的项目是运行在docker上的,由于已经实现了容器间网络通信,所以mysql主机部分就改成容器名。
5. 修改pom.xml文件
这里主要是在pom.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命令上传,这里面的路径用你自己的路径
scp server/src/Dockerfile 你的服务器号:
scp server/target/server-1.0-SNAPSHOT.jar 你的服务器号:
scp common/target/common-1.0-SNAPSHOT.jar 你的服务器号:
这样就能上传到你的服务器里了。
9. 镜像生成
到服务器里。
输入命令
docker build -t 镜像名(自己设置):版本号 .
注意上面最后有个 . 号,这个是你的DockerFile文件上传到云服务器里的目录路径。
接下来它就开始给你打包镜像了。
10. Docker运行镜像
输入命令
docker run -d --name 容器名字(你自己取) -p 8080:8080 --network 网络网桥名 镜像名
这里要说明:
-d 后台运行
–name 名字
-p 给外界暴露的端口:里面的端口
–network 网络
其中网络名就是你前面(第3步)里创建的网桥名字。
镜像名则是第9步创建的名字。
11. 查看日志
输入以下指令,就可以查看容器日志了
docker logs -f 容器名