当前位置: 首页 > news >正文

重生之我在暑假学习微服务第五天《Docker部署项目篇》

  •  个人主页:VON
  • 文章所属专栏:微服务
  • 系列文章链接:
  • 重生之我在暑假学习微服务第一天《MybatisPlus-上篇》-CSDN博客
  • 重生之我在暑假学习微服务第二天《MybatisPlus-下篇》-CSDN博客
  • 重生之我在暑假学习微服务第三天《Docker-上篇》-CSDN博客
  • 重生之我在暑假学习微服务第四天《Docker-下篇》-CSDN博客
  • 时间:每天12点前准时更新

目录

 一、部署java后端项目

1、打包java项目

(1)java版本问题

(2)测试不通过

2、 部署到虚拟机上

 3、访问项目

 二、部署前端项目

1、查看配置文件

2、开始挂载

三、前后端联动测试

​编辑 

四、DockerCompose

1、将文件拖到虚拟机中

2、将conf文件中的改为hmall 

3、删除之前的容器和镜像

4、启动compose一键部署

结语


 

 一、部署java后端项目

1、打包java项目

我这里打包的是虎哥给的资料中的java商城项目

这里遇到了两个问题

(1)java版本问题

这里所有文件用到的java版本都是11,我之前用的是17,所以要更换版本,这里要更改2个地方

 这样就可以运行了

(2)测试不通过

可以看到这里报了个测试不通过的结果

我这里直接跳过测试部分了 

2、 部署到虚拟机上

找一下jar包在哪 

 这里可以直接将路径复制过来查找

 找到了jar包

 连接上我们的centos,导入jar包和Dockerfile文件

 开始下载镜像

 查看下8080端口是否被占用(因为本项目用到的是8080端口)

 运行镜像,这里需要和昨天布置的mysql用一个网段

 

启动项目

 3、访问项目

可以看到这里访问成功了

后台这里可以看到日志也显示出来了,到这里java项目彻底部署成功了

 二、部署前端项目

1、查看配置文件

确保和后端名称一致

2、开始挂载

 这里出现了点小问题,不过都解决了

 这里少了一步将nginx放到宿主机上

这下成功了

指令如下👇 

docker run -d --name nginx -p 18080:18080 -p 18081:18081 -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf --network VON nginx

访问成功 

 

三、前后端联动测试

查看下后端日志:docker logs -f hm

这里测试一下搜索功能 

 

可以看到后端出现了搜索相关的日志 

 

四、DockerCompose

1、将文件拖到虚拟机中

2、将conf文件中的改为hmall 

3、删除之前的容器和镜像

删除容器

删除镜像

4、启动compose一键部署

这样就部署成功了

 可以看到容器和镜像也自动创建好了

黑马商城访问成功 

 

删除部署的项目

这里可以看到容器都删除了 

结语

本文详细记录了微服务项目部署的全过程。首先解决了Java版本兼容问题,将商城项目打包并部署到Docker容器中,成功运行后端服务。接着配置前端Nginx服务,实现前后端联调测试。最后使用Docker Compose实现一键化部署,包含MySQL、后端和前端服务的容器编排。部署过程中遇到的问题如端口占用、配置文件修改等均得到解决,最终成功运行完整的黑马商城项目。文章还展示了如何通过Docker命令查看日志、管理容器等操作,为微服务学习提供了完整的实践案例。

http://www.xdnf.cn/news/1215667.html

相关文章:

  • 【人工智能99问】混合专家模型(MoE)是如何训练的?(18/99)
  • pytorch小记(三十三):PyTorch 使用 TensorBoard 可视化训练过程(含完整示例)
  • LLM—— 基于 MCP 协议(SSE 模式)的工具调用实践
  • 30道JS高频经典笔试题集合+详解(一)
  • 华为昇腾×绿算全闪存缓存释放澎湃潜能
  • 【LeetCode】链表反转实现与测试
  • 比特币挖矿的能源消耗和环保问题
  • 关于“LoggerFactory is not a Logback LoggerContext but Logback is on ......“的解决方案
  • C++代码题部分(1)
  • LLM 模型部署难题的技术突破:从轻量化到分布式推理的全栈解决方案
  • AutoSAR(MCAL) --- ADC
  • Linux虚拟内存
  • 【C#】DevExpress.XtraEditors.MemoEdit memoEditLog控件讲解
  • AI服务器中,EEPROM有哪些部件使用,需要存储哪些信息?
  • Syzkaller实战教程2:运行环境配置+实例运行
  • 在Trae中使用MoonBit月兔
  • Android调用python库和方法的实现
  • 三十四、【Linux常用工具】rsync+inotify实时同步演示
  • GitHub使用小记——本地推送、外部拉取和分支重命名
  • Camera相机人脸识别系列专题分析之十九:MTK ISP6S平台FDNode传递三方FFD到APP流程解析
  • git本地仓库,工作区和暂存区的知识
  • llama factory本地部署常见问题
  • 用Python+MySQL实战解锁企业财务数据分析
  • 会吸的簸箕专利拆解:迷你真空组件的吸力控制与吸入口设计原理
  • Redis学习------缓存穿透
  • 数据建模怎么落地?从概念、逻辑到物理模型,一文讲请!
  • Prometheus-2--什么是Exporter是什么?
  • Spring boot 打包成docker image 镜像
  • 数据结构第3问:什么是线性表?
  • (RedmiBook)上禁用触摸板或自带键盘