Docker 连接数据库部署war包
Docker 连接数据库部署war包
整了一天都没整好,我决定去整合一下各位大佬的连接和代码,并连括了自己的一些代码
1.在liux虚拟机中创建Docker:推荐博客园的樊辰木风大佬的教程:
https://www.cnblogs.com/fyc001/p/10155018.html
(很详细,一步一步做就行了,用了他的教程,再也没出现不存在docker-re不存在的问题)
2.在docker上安装和启动mysql:
最新版用这句就够了
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-name:后跟名字
-p 3306:3306,将容器的3306端口映射到主机的3306端口,前面容器,后面主机
最后的mysql不加版本号代表最新版,
(不加:5.6默认最新,就这坑了我好久,因为我宿主的mysql是5.6的,用最新的容器mysql导致数据数据传不进去)
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6(还是我的,不加:5.6)
(进入容器,要进自己的容器名,别抄教程上的)
docker exec -it 62349aa31687(这里是自己的容器名或者自己的容器id) /bin/bash
3.去找容器里面的数据库的Ip(我的war包需要连接数据库,需要这步,你们随意):
docker exec -it mysql(数据库的名字) /bin/bash 执行后,在执行cat /etc/hosts
(127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 37e25dbf36ea
)
172.17.0.2便是自己容器数据库的ip
4.部署tomcat:
docker run -d -p 8080:8080 --name tomcat tomcat:8.0.23-jre8
docker 部署并运行 tomcat8.0.23版本 其中 设置名字 为 tomcat 端口映射为 8080:8080 前面是容器端口可以改,后面是主机的端口不能改
之后我们可以输入 docker ps 查看 tomcat是否启动成功
若tomcat 的 status 是 up 就是启动了
接着去查询自己的ip 去访问tomcat能不能访问
查询ip代码:ip addr
例:192.168.70.78:8080(我的虚拟机ip加上端口映射的容器端口8080)
5.部署war包
这里可以去百度一下,我没有走教程,因为我的war包需要绑定数据库
我是这么做的
下载war包,将war包上传到liunx
先yum install -y lrzsz
安装上传工具
将war包从windo直接拖入拖入liux虚拟机中
yum install unzip
安装解压工具
unzip xx.war -d /mnt/xx (将xxwar包解压到mnt目录的xx中)
vi woniusales/WEB-INF/classes/db.properties
将localhost 改为 172.12.0.2
保存退出
修改数据库dp连接(我需要你们随意)
docker cp /mnt/xx tomcat的ID或tomcat的名字(可以docker ps 查看):/usr/local/tomcat/webapps
例:
docker cp /mnt/xx tomcat:/user/local/tomcat/webapps
将文件夹xx cp 到 docker的tomcat下的webapps中

浙公网安备 33010602011771号