分享好友 最新动态首页 最新动态分类 切换频道
docker Compose 部署springboot+vue前端端分离项目
2024-12-26 23:16

温馨提示:如果有自己的服务器最好不过了,这样部署网项目就可以上线了。没有的话,只能使用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 常用命令
 
● 查看日志进行排查错误
 




最新文章
挑卡网郑州的长尾关键词有哪些
【挑卡网郑州】长尾关键词有很多,郑州信息发布网为您整理各个搜索引擎的相关长尾关键词:百度的相关长尾关键词:挑卡网郑州市,河南挑卡网,郑州挑卡号网,挑卡网合肥,挑卡网天津,上海挑卡网络科技有限公司,成都挑卡网实体店,挑卡网重庆,全国
【乐玩(P588L/电信4G)腾讯手机管家下载】TCL LEWAN腾讯手机管家16.1.19免费下载
腾讯手机管家专注手机骚扰拦截,动态守护手机安全,深度清理微信、QQ缓存,让手机体积减半,拒绝卡慢。---认真服务---【骚扰拦截】智能拦截骚扰电话,过滤诈骗垃圾短信【清理加速】清理加速能力升级,释放空间告别卡慢【微信清理】个性清理
百科词条创建不求人,从零到一,轻松实现自我突破
三、资料搜集与整理接下来,你需要进行资料搜集与整理。这包括查阅相关书籍、文献、网络资源等,确保你获取的信息是准确、可靠的。同时,你还需要对搜集到的信息进行分类、筛选和整理,以便在创建词条时能够有条不紊地呈现。四、创建词条:
星座测算网站搭建教程——一步步教你创建自己的占星平台
在当今社会,科技与神秘学的结合为人们提供了前所未有的便利和乐趣。十二星座占卜测算小程序结合的产物之一,它不仅满足了人们对自我认知和未来探索的好奇心,也成为了现代社交互动的一式。下面,我们将详细探讨如何搭建一个功能全面、用户
抖音外链跳转到微信怎么办 2024技术攻略!超好用
随着短视频时代的蓬勃发展,抖音成为了越来越多商家的重要销售和营销渠道。但在这个平台上,不少商家面临一个棘手的问题:如何将抖音跳转微信?在2024年,掌握这一技巧不仅可以提升客户的转化率,还能有效地增强与客户的沟通。本文将为您提
广西高考排名78440左右排位理科可以上哪些大学,具体能上什么大学
位次是指考生的高考成绩在全省该科类考生中属于哪个位置,是考生成绩和考生人数总和后的综合排序,本文徐老师帮大家安排了广西高考排名78440左右排位理科可以上哪些大学的知识点,成绩在这个排位段的朋友可以好好参考以下数据,具体能上什
股票市场中的技术创新有哪些?这些技术如何改变投资方式?
在股票市场中,技术创新正以前所未有的速度和规模改变着投资方式。以下是一些关键的技术创新及其带来的影响:首先是大数据分析技术。通过收集和分析海量的市场数据,包括公司财务数据、社交媒体情绪、宏观经济指标等,投资者能够更全面地了
速看!龙华区优质企业腾挪安置、数字经济园区(楼宇)入驻、智能制造装备产品推广应用等拟资助企业名单公示
龙华区工业和信息化局关于公示2024年产业发展专项资金(2023年优质企业腾挪安置资助类)拟资助企业名单的通知根据《优质企业腾挪安置资助类操作指引》及操作规程相关规定,我局于2023年10月23日-11月10日开展2023年优质企业腾挪安置资助项
用AI绘画生成超逼真美女写真,轻松一键体验!
This Person Does Not Exist:此工具每次刷新即可生成一个从未存在过的人的照片,照片逼真且细节丰富,非常适合图库使用。但它缺乏用户自定义的选项,用户不能选择想要的特征,使用场景受限。搜狐简单AI:这一工具则以其强大的功能和简洁的
相关文章
推荐文章
发表评论
0评