当前位置: 首页 > 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.dtcms.com/a/305447.html

相关文章:

  • JavaWeb 进阶:Vue.js 与 Spring Boot 全栈开发实战(Java 开发者视角)
  • Linux常用基础命令
  • 【MySQL基础01】:如何创建删除修改表和数据库
  • 【大语言模型入门】—— Transformer 如何工作:Transformer 架构的详细探索
  • [mcp: JSON-RPC 2.0 规范]
  • sqLite 数据库 (2):如何复制一张表,事务,聚合函数,分组加过滤,列约束,多表查询,视图,触发器与日志管理,创建索引
  • Python的魔术方法
  • 在 Cloudflare 平台上完整部署 GitHub 项目 MoonTV 实现免费追剧流程
  • 计算机网络基础(一) --- (网络通信三要素)
  • Deep Learning_ Foundations and Concepts-Springer (2024)【拜读】20章3节
  • Linux C:构造数据类型
  • python基础:request请求Cookie保持登录状态
  • Python高效历史记录管理:保存最后N个元素的完整指南
  • 机械学习--线性回归
  • 项目如何进行阶段性评估?核心要点
  • Java07--面向对象
  • 【收银系统开发】收银系统之数字键盘,人机交互中重复判断——仙盟创梦IDE
  • thingsboard 自定义动作JS编程
  • 1768. 交替合并字符串
  • 2025年06月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 【C#学习Day13笔记】静态成员、接口、运算符重载和索引器
  • Redis 键值对操作详解:Python 实现指南
  • 【Dify】-进阶14- 用 Dify 搭建法律文档解析助手
  • 工作中使用git可能遇到的场景
  • docker docker、swarm 全流程执行
  • 抵御酒店管理系统收银终端篡改攻击 API 加密的好处及实现——仙盟创梦IDE
  • LLM中BLEU 指标、ROUGE 指标、PPL指标
  • MySQL图解索引篇
  • 7.29 Java SE(Java高级 P191-P199)
  • Linux 线程概念与控制