使⽤docker部署project-exam-system
1. 背景,在⼀台主机之内,实现容器的编排,发布考试系统
2. 环境准备
1. docker
1. vim /etc/docker/daemon.json
2. docker-compos
3. 普通的部署
1. 镜像
1. 前端:nginx latest服务
1. 拉取nignx:latest镜像
2. 测试
3. 上传前端项⽬dist
4. 创建启动容器

5. 测试成功
6. 出现问题,在实现登录的时候,都实现后段异常, 原因后段还没后部署
7. 登录的时候请求的域名bu.yuanyu.zhangmin,我们是 hosts域名劫持来实现
2. 后端的业务 jdk17 springboot 有点 不⽤单独部署 tomcat,已经在springboot中内置tomact
1. 准备拉取基础centos镜像
2. Docker run -it centos:latest /bin/bash
3. ctrl p q
4. jdk17版本的⽂件
5. 项⽬资源 .war. .perpreties
6. 将在服务器上的jaav的资源⽂件上传到容器
1. 上传jdk

2. 向容器上传为服务的项⽬⽂件

3. 向容器上传微服务的配置⽂件

4. 对已经传到容器的⽂件进⾏部署

5. 解压⽂件到指定的⽬录,并且跳过第⼀层⽬录

6. 测试启动微服务

7. 修改appllcaiton.properties⽂件
1. spring.datesource.url=jdbc:msyql://你的主机 的ip:3306/project_exam_system
8. ctrl p q 退出
9. 根据容器创建镜像

10. 查看镜像

11. 停⽤原来的容器

12. 移除原来的容器
docker rm 28b9
13. 根据新建的镜像,创建容器
docker run -itd -p8080:8080 java:v0
14. docker ps查看容器的进程

15. 将java容器的终端附加到当前终端

16. 启动springboot微服务



nmt
nginx
1.下载镜像,启动镜像,将本地的dist项⽬的⽬录挂载在容器 的/usr/share/nginx/html
2.启动服务
3.前后端分离的项⽬,并⾮所有的请求都是来⾃于同⼀个位置, 设置请求的时候还是需要在hosts⽂件中挟持域名
4.域名是固定的,但是,域名可以绑定不同的ip
mysql
1. 各个版本都有官⽅的镜像,直接下载 docker pull msyql:5.7.44
2. 启动容器的时候,挂载data⽬录

3. 制作data的时候,顺⼿删除auto.cnf
tomcat
1. 被war包集成,所以我们直接启动war
2. springboot 可以直接集成tomcat,build⼀个jar v包或者 是war
3. 我们没有安装tomcat
4. application.properties
1. 可以配置端⼝ 2. 配置数据库的访问
5. 使⽤/usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war启动,但是在启动这个任务⼀ 定要跳转到⽂件所在⽬录,因为在启动的同时,还需要加载 applicaiton.properrties
6. Dockerfile创建镜像,如果对象的主机上没有对应镜像,我们 希望使⽤⼀个⽂件创建项⽬,就需要使⽤到Dockerfile,使⽤ docker build,也需要在Dockerfile所在⽬录中执⾏docker build,否则找到Dockerfile也是⽆法创建制作docker-compose.yml⽂件,实现⼀键部署



![食品种类检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]](https://i-blog.csdnimg.cn/direct/6a5693b8d2104029863455b0d63c7a96.png#pic_center)

![[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-27浅谈XILINX BRAM的基本使用](https://i-blog.csdnimg.cn/direct/935b088c4f9f446694ad2ab5ce9ba56a.png)












