docker使用tomcat + mysql 容器 部署到服务器web应用
环境:阿里ecs 服务器 contos7 docker 版本忘了,但是应该关系不大 先在阿里配置页面开启阿里云配置的端口 3306 80
先装docker
一、容器互接
1. 拉取镜像
tomcat(tomcat里面内嵌jdk环境,所有不许要手动装) mysql
docker pull tomcat
docker pull mysql:5.7
docker images # 查看镜像
2. 运行mysql容器
# 容器别名 contos端口:容器端口 账号:root 密码:123456 后台启动 启动镜像版本
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
3. 建立tomcat mysql连接
# 建立连接 mysql容器名:连接别名
docker run -it -p 80:8080 --link mysql:dbhost --name mytomcat tomcat:latest /bin/bash
# 如果有下图内容则容器连接成功
cat /etc/hosts
二、war包配置及部署
1.配置
① 查看mysql容器ip地址,
上图的ip就是mysql容器的ip地址 即172.17.0.3 dbhost 6b2fcc546a05 mysql
# [容器名]
docker inspect mysql
② 数据源配置
项目配置文件端口是容器内部的端口,而不是映射出来后contos 的端口
③ 数据
这里建议数据库里面有点基础数据,否则查询出来会有error
可以用数据库连接工具进行连接 我用的是 navicat 连接不上可能是阿里云端口没开放
2.部署
开启第二个终端 ,上一个在tomcat里面的终端别关了
①、上传
[root@izbp13dj8i3kf87927lghsz ~]# rz
#选择文件 (如果不行需要先装插件)
②、部署到tomcat
从主机复制到容器 sudo docker cp host_path containerID:container_path
从容器复制到主机 sudo docker cp containerID:container_path host_path
#我使用的是
docker cp myblog.war mytomcat:/usr/local/tomcat/webapps
③、在tomcat 里面的终端查看是否有war文件
# 如果关闭了第一个终端,可以用如下命令进入
docker exec -it mytomcat /bin/bash
root@2ab3ead8f61e:/usr/local/tomcat/webapps# ls
#容器删除东西
rm -rf [directoryName]
3. 启动
因为我之前启动了,所以现在就不启动了