Tomcat+mysql+nginx整合
本文使用的MySQL镜像为mysql:5.6.38,tomcat镜像为kubeguide/tomcat-app:v1,docker版本为19.03.12。
1 创建MySQL容器
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD="123456" --name mysql mysql:5.6.38
- -d:后台运行
- -p:端口映射
- -e MYSQL_ROOT_PASSWORD:MySQL登录密码
- –name:别名
2 创建tomcat容器
run -d -p 8090:8080 --link mysql:mymysql --name mytomcat kubeguide/tomcat-app:v1
该容器自带一个demo,但部分内容需要修改(index.jsp,inser.jsp)。如下图所示,通过link所设置的MySQL容器别名直接访问MySQL
文件修改方式:
- 第一种方法
- 将需要修改文件从容器中拷贝到宿主机
docker cp mytomcat:/usr/local/tomcat/webapps/demo/index.jsp insex.jsp
- 修改
- 将修改好的文件拷贝到容器
docker cp insex.jsp mytomcat:/usr/local/tomcat/webapps/demo/index.jsp
- 重启容器
- 将需要修改文件从容器中拷贝到宿主机
- 第二种方法
- 进入root用户
sudo su
- 搜索文件index.jsp
find / -name index.jsp
- 修改文件
- 重启容器
- 进入root用户
3 创建nginx容器
docker run -d -p 8081:80 --name nginx nginx
4 配置反向代理
-
进入nginx容器
docker exce -it nginx bash
-
查看nginx配置文件
cat /etc/nginx/nginx.conf
-
修改default.conf文件
反向代理中格式http://IP:8080。IP为tomcat容器IPAddress,可通过docker inspect mytomcat
查看,端口号为容器端口号,而非宿主机映射端口号。
至此简单的tomcat+mysql+nginx整合配置就完成了。目前只是简单学习了一下docker的东西,任重而道远啊!