如何利用docker容器部署项目war包

总体分为:简介,总体工作流程,详细步骤,遇到的问题

简介:

使用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路径下面。

用到的命令:

  1. docker run -d -p 8080:8080 –name xs-mysql 地址或镜像id。运行容器
  2. 使用xhsell的xtp把war包拖到root路径下。然后复制到容器tomcat的webapps路径
  1. 复制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地址后连接成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值