栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何利用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地址后连接成功了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号