docker 原生部署《学生考试系统》

1. 安装docker,配置镜像

2. 拉取镜像

docker pull nginx
docker pull tomcat
docker pull mysql:5.7.44
或者
docker load -i nginx.tar
docker load -i tomcat.tar
docker load -i mysql5.7.44.tar

3.上传压缩包并解压

按住win+R,输入cmd,打开Windows的终端

如果在D盘,输入D: ,进入D盘

输入cd 压缩包所在目录进入压缩包所在目录

输入dir查看目录下所有文件目录

输入scp -P22(端口号) 压缩包名字 root@虚拟机ip:~把压缩包文件上传到虚拟机

scp -P22 pes.tar.gz root@10.1.1.145:~

输入tar -zxvf 压缩包名字解压压缩包

tar -zxvf pes.tar.gz

输入ls,查看压缩包是否解压完成

4.部署nginx前端

(1)启动容器

docker run -itd -v /root/pes/web/dist/:/usr/share/nginx/html/ --name nginx0 -p80:80 nginx:latest

-itd:以交互式(-i)、伪终端(-t)方式运行容器,并在后台执行(-d)。

-v /root/pes/web/dist/:/usr/share/nginx/html/:将宿主机目录 /root/pes/web/dist/ 挂载到容器内的 /usr/share/nginx/html/,这是 Nginx 默认的静态文件目录。

-p 80:80:将宿主机的 80 端口映射到容器的 80 端口。

--name nginx0:这为容器指定了一个名称(nginx0)。

2)修改hosts文件

在物理机的C:\Windows\System32\drivers\etc中找到hosts文件,添加IP地址和域名

若无权限保存文档,按住WIN 键和X 键,在左下角弹框菜单里选择终端管理员,在打开的Windows Powershell界面输入notepad,按回车,就会出现记事本的界面,在记事本界面点击【文件】-【打开】,在弹出的窗口中选择路径C:\Windows\System32\drivers\etc,点击右下角【文本文档】,选择【所有文件】,点击出现的hosts文件,然后点右下角的【打开】,就会弹出hosts文件的编辑页面,编辑内容如下,编辑完成后保存并退出记事本,输入ipconfig /flushdns更新dns缓存,输入ping bu.yuanyu.zhangmin,可以ping通代表添加成功。

(3)浏览器访问测试

在浏览器中输入http://10.1.1.145,出现学生考试系统登陆界面,在实现登录的时候,出现问题后端异常,因为后端还没有部署

5.部署MySQL

(1)启动容器

docker run -d -v /root/pes/mysql/data/:/var/lib/mysql/ --name mysql0 -p3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.44

-d:此标志在后台运行容器(分离模式)。

--name mysql0:这为容器指定了一个名称(mysql0)。

-p3306:3306:这将主机机器上的端口3306映射到容器内的端口3306。这允许你从主机机器访问MySQL服务器。

-e MYSQL_ROOT_PASSWORD=root:这设置了一个环境变量MYSQL_ROOT_PASSWORD,将MySQL root用户的密码指定为root。

(2)查看MySQL的用户密码

进入容器

docker exec -it mysql0 bash

查看MySQL的用户密码

 mysql -uroot -proot -e'select * from project_exam_system.user'

6.部署tomcat 的java环境

(1)启动容器

docker run -itd --link mysql0:db -p32100:8080 -v
/root/pes/java/src/:/usr/local/tomcat/ tomcat:latest java -jar
Project_ExamSystem-V1.0.0.war

-itd:

-i:让容器保持标准输入打开(交互模式)。

-t:为容器分配一个伪终端。

-d:让容器在后台运行。

总体上,-itd 组合使用表示启动一个交互式容器,但将其放在后台运行。

--link mysql0:db:

将这个容器与另一个名为 mysql0 的容器链接起来。

在该容器内,mysql0 可以通过别名 db 来访问。

这种链接用于让 Java 应用能够访问 MySQL 数据库。

-p8080:8080:

将主机的 8080 端口映射到容器的 8080 端口。

这样可以通过访问主机的 8080 端口来访问容器内 Tomcat 服务器上的应用。

--name java0:

为这个容器指定一个名字 java0,方便后续管理。

-v /root/pes/java/:/usr/local/tomcat/:

将主机目录 /root/pes/java/ 挂载到容器内的 /usr/local/tomcat/ 目录。

这种方式可以让容器内的 Tomcat 使用主机上的文件。

java -jar Project_ExamSystem-V1.0.0.war:

在容器内运行这个命令,启动 Java 应用。

java -jar Project_ExamSystem-V1.0.0.war 是运行一个 Java Web 应用的标准方式,表示使用 Java 执行一个 .war 文件(Web 应用归档)。

7.浏览器访问测试

在浏览器中输入http://10.1.1.145,输入正确账户密码即可登录成功(例如21001189,111111)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值