使用docker部署tomcat|tomcat基础使用第二篇
1. review
- tomcat服务器学习:https://www.cnblogs.com/jiading/p/11974935.html
- docker学习:https://www.cnblogs.com/jiading/p/12131441.html
2. tomcat使用补充
-
tomcat服务器的文件位置在哪里
今天猛然间发现之前配置的tomcat居然是随机启动的,也就是说它一直在默默运行着2333,幸好内存占用不大。不过这也从侧面说明了使用docker的优点:将应用进行封装,一旦关闭的话就是真的关闭了,对本机不会产生任何影响
anyway,访问localhost:8080,在tomcat的welcome页面中能够查询到它的位置在/var/lib/tomcat9/
-
webapps里的ROOT项目是什么
ROOT项目是tomcat默认启动的项目,也就是输入
<域名>:<端口号>
默认访问的项目,当然也可以删掉,删除之后按<域名>:<端口号>
输入就没有显示了(如果是直接用war包部署而不使用server.xml的方式部署的话) -
如何访问使用war包部署的项目
<域名>:<端口号>/<项目路径名>
3.使用docker部署tomcat
由于是第一次独立使用docker,还是绕了一些弯子的
-
拉取tomcat镜像:
docker pull tomcat
-
运行容器:
docker run -d --name tomcatfortravel -p 8081:8080 -v /home/jiading/Desktop/travelWeb:/usr/local/tomcat/webapps -v /home/jiading/Desktop/travelLog:/usr/local/tomcat/logs tomcat
下面我解释一下参数:
- run:运行容器
- -d:以守护式方式启动(也就是后台运行).当然也不是必须要以守护方式运行,也可以-it前台交互式运行,但是tomcat比较特殊是运行之后自动就启动tomcat服务了,shell是被占用的,所以-it前台运行也不能在shell中交互(如果需要交互,可以-d后台运行之后再输入
docker exec <容器ID> /bin/bash
) - -p:端口映射,如果你电脑本地没有运行tomcat等服务器软件并且你只打算开一个docker容器的话可以不加
- -v:数据卷,这个路径是我电脑的,所以你不能直接拷贝运行上面的命令。我这样做的好处就是1.可以直接看运行日志 2. 将war包放到桌面的travelWeb文件夹下就可以在容器中自动部署了,操作方便
这里有一点要注意,docker run命令中,镜像名要写在所有参数之后(就像我上面所做的那样),否则可能会报错,例如
starting container process caused "exec: "-d": executable file not found in $PATH": unknown.
-
之后,将war包拷贝到上面数据卷映射的本地文件夹下,就可以在本地浏览器上输入
localhost:8081/<项目名>
运行web项目了
docker的好处就是能同时使用多个容器来模拟多个服务器