docker Compose 部署springboot+vue前端端分离项目

   日期:2024-12-26    作者:net62008 移动:http://mip.riyuangf.com/mobile/quote/55440.html

温馨提示:如果有自己的服务器最好不过了,这样部署网项目就可以上线了。没有的话,只能使用localhost 本机访问啦,记得替换 ngixn 中的ip地址、域名为localhost。


1、安装Docker并配置阿里云仓库加速

① 环境查看,选择对应的docker的安装版本
  • docker 帮助文档:https://docs.docker.com/get-started/overview/
 
2、安装Docker
  • 选择linux版本的docker安装教程
 
2-2、阿里云镜像加速
▪ 登录阿里云官网,点击控制台,找到产品与服务,搜容器镜像服务
▪ 镜像加速器
▪ 配置使用
 



3、安装DockerCompose

(1) 下载
 
(2) 授权
 
(3) 验证是否安装成功
 




  • 前端、后端增加生产环境配置,然后修改:项目主机号、请求路径以及将mysql和redis的主机号修改为docker compose的服务名

1、修改前后端配置文件的项目主机号

前端修改配置访问后端路径,后端改的就是跨域配置允许前端访问的路径

  • 前端生产环境配置
  • 后端生产环境配置(跨域配置)

2、修改前后端配置文件的项目请求路径

后端项目暴露的端口是8888,编写docker-compose.yaml时记得暴露

3、后端生产环境的配置把mysql和redis的主机号修改为docker compose的服务名

(1) 前端打包命令:npm run build

  • 打包生成了一个dist包

(2) 后端是多环境配置,打包记得把依赖一起打包

  • 记得配置激活的配置环境为 prod,如果忘记在springboot 配置中环境配置了,还可以在制作spirngboot镜像的dockerfile 中指明 生产环境是prod
 
 
  • 打包记得把依赖一起打包




 

接下来

① 编写构建各个项目模块的Dockerfile

② 编写docker-compose.yaml

③ mysql、redis、nginx的配置

④ 启动dockerCompose编排

⑤ 导入数据[数据库表数据、前端静态web资源]

⑥ 测试访问,并排除错误



1、上传打包生成的jar包,上传到/mnt/docker/ 目录,并修改jar包的包名为 blog_api.jar

2、编写镜像文件 api_dockerfile

 

3、构建生成镜像 api

命令: docker build -f dockerfile路径 -t 自定义镜像名称 .

 



1、编写 docker-compose.yaml

 

2、dockercompose 进行编排

前提:mysql、redis、nginx的配置文件配置好后才可以进行编排
 




1、mysql的配置

① mysql 服务在docker-compose.yaml 中的编写内容为
 
② 挂载mysql的配置文件
 
 

2、redis的配置

① redis 服务在docker-compose.yaml 中的编写内容为
 
  • 由于没有挂载配置文件,所有不用挂载redis的配置

3、nginx的配置

① nginx 服务在docker-compose.yaml 中的编写内容为
 
② 挂载nginx的配置文件
 
▪ nginx基本配置,编写nginx.conf文件[vim nginx.conf]
 
▪ nginx基本配置文件nginx.conf中include了一个mime.types配置文件
  • 上传mime.types配置文件

    • mime.types配置文件: 在nginx安装包的conf目录下,下载一个nginx获取,然后进行上传
    • mime.types的上传目录:结合dockercompose中数据卷的挂载点,推断出 /mnt/docker/nginx/
 

注意:没有自己的服务器,把下面 blog.conf配置 中的域名server_name 改为localhost,并且没有ssl证书,记得把443(https 协议端口号) 的配置去掉,并把80(http协议端口号)rewrite 部分去掉。


▪ nginx配置文件blog.conf
  • 记得将配置文件的中文注释去除再复制粘贴。
 
 

③ 配置nginx的ssl证书

申请、下载和上传服务器的ssl证书

  • 下载ssl证书:要选择nginx类型的下载

  • 上传nginx的ssl证书:要注意证书文件的名称、证书格式咱配置在nginx的配置文件保持一致

 
  • 上传ssl证书
 

可以启动dockercompose 进行编排啦~




1、导入数据库表的数据

(1) 导入sql文件
① mysql的挂载信息
 
② 数据库视图工具navicat 把表导出sql文件
③ 上传sql文件(文件名:blog.sql
  • 在数据库中创建和 sql文件(blog.sql)对应的数据库名blog
 
(2) 执行sql文件(创建blog 数据库并导入数据)
 
  • 接下来在docker中执行该sql:
 

将.sql文件导入数据库命令:mysql -u 用户名 -p 数据库(blog) < 要导入的数据库数据(blog.sql)

  • 结果检查
 
  • 如果能查出来结果,那就说明我们的mysql导入sql文件成功了。
  • 退出mysql数据库:exit
  • 退出mysql容器:exit
(3) 检查mysql的配置

● 编排dockerCompose之后检查docker中mysql的配置是否成功

 
  • 没有看到报错信息即成功(警告信息可以忽略)



2、导入前端静态web资源

(1) nginx 前端web资源的配置
 
 
(2) 手动压缩前端dist包,上传到 /mnt/shan/blog 目录
  • 手动压缩:是为了提高传输速度
  • 安装解压缩工具
 
  • 上传web资源(dist 压缩包)
 
 



可以测试排错啦~




(1) 测试

  • api 模块的测试:访问 https://blog.yilele.site/

    ● 当我们觉得部署完全搞定的时候,就可以docker-compose up -d 后台启动,这样的话关掉远程连接也能运行了。

(2) 排查错误

● docker 常用命令
 
● dockerCompose 常用命令
 
● 查看日志进行排查错误
 





特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号