总体分为:简介,总体工作流程,详细步骤,遇到的问题
简介:
使用docker可以达到快速部署,节省资源的目的。
最重要的是:可使测试环境和开发的环境完全相同,避免了因为环境问题导致bug无法复现的情况。
本次使用mysql tomcat docker 以及开发给的war包和sql文件
总体工作流程:
1.开发给war包,sql文件和readme文件(包含部署环境要求,例如tomcat,mysql等的版本)。
2.使用doker容器技术,在linux主机上下载指定的版本镜像。mysql执行sql语句建表,tomcat的/usr/local/tomcat/webapps目录放置war包
3.浏览器访问项目。格式是 http://linux主机的ip地址:端口号/war包名
详细步骤:
首先根据源代码的readme文件看mysql和tomcat需求版本。
分别下载和运行对应的文件和镜像。
mysql执行sql文件
tomcat里面的app部署开发给的导出的war文件。
成功后用本地的浏览器访问地址:虚拟机ip地址:端口号:war包文件名。就可以看到项目部署成功了。
Tomcat部分:
部署指定的tomcat容器,然后把war包放到tomcat的user/local/tomcat/webapps路径下面。
用到的命令:
- docker run -d -p 8080:8080 –name xs-mysql 地址或镜像id。运行容器
- 使用xhsell的xtp把war包拖到root路径下。然后复制到容器tomcat的webapps路径
- 复制war包到tomcat容器的webapp路径下。用法:docker cp 路径/文件名 容器id:地址
例如:docker cp xgjkjk.war db:/usr/local/tomcat/webapps
Msyql部分:
1.首先用docker部署好mysql容器。
2.然后navicat连接上linux的ip地址和映射mysql端口的端口号
http://192.168.80.128:8080/XGYQSystem13/访问成功即可
3.新建数据库,执行sql文件,生成表格。
注意:新建的数据库要和sql文件规定的数据库的名字相同
这次部署中遇到了2个问题。
分别是:db.properties数据库连接文件配置信息导致的问题,选择的docker镜像版本不对导致的报错
第一个:docker容器镜像版本选择错误,选择的不是规定java1.8版本的tomcat
现象描述:打不开项目首页,直接报错500.
排查:报错是500内部服务错误。有个报错excetion:unspportedClassVersion Erro。后面反复提到了java。于是去容器内部查看了java版本发现不是1.8的
解决:先停止容器,然后删除容器,然后安装了新的java1.8版本的容器
第二个:db.properties数据库连接文件配置信息错误,导致连接数据库失败。
现象描述:安装后登录首页出现了,但是输入数据库表中的账号和密码时,网页报错500
排查:1.首页可以打开,但是有数据交换的时候就报错,与数据相关,可能是数据库有问题。2.报错是拒绝连接,于是去看了db properties 数据库连接信息文件,发现里面的的数据库url链接配置的是localhost。问了开发,说是mysql和tomcat分别部署在2个虚拟机上,访问就需要ip地址,localhost不管用。
解决:把数据库配置信息文件中url的地址改为了虚拟机的ip地址后连接成功了