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)


909

被折叠的 条评论
为什么被折叠?



