使用docker部署tomcat|tomcat基础使用第二篇

1. review

  1. tomcat服务器学习:
  2. docker学习:

2. tomcat使用补充

  1. tomcat服务器的文件位置在哪里
    今天猛然间发现之前配置的tomcat居然是随机启动的,也就是说它一直在默默运行着2333,幸好内存占用不大。不过这也从侧面说明了使用docker的优点:将应用进行封装,一旦关闭的话就是真的关闭了,对本机不会产生任何影响
    anyway,访问localhost:8080,在tomcat的welcome页面中能够查询到它的位置在/var/lib/tomcat9/
  2. webapps里的ROOT项目是什么
    ROOT项目是tomcat默认启动的项目,也就是输入<域名>:<端口号>默认访问的项目,当然也可以删掉,删除之后按<域名>:<端口号>输入就没有显示了(如果是直接用war包部署而不使用server.xml的方式部署的话)
  3. 如何访问使用war包部署的项目
    <域名>:<端口号>/<项目路径名>

3.使用docker部署tomcat

由于是第一次独立使用docker,还是绕了一些弯子的

  1. 拉取tomcat镜像:docker pull tomcat
  2. 运行容器: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下面我解释一下参数:
  1. run:运行容器
  2. -d:以守护式方式启动(也就是后台运行).当然也不是必须要以守护方式运行,也可以-it前台交互式运行,但是tomcat比较特殊是运行之后自动就启动tomcat服务了,shell是被占用的,所以-it前台运行也不能在shell中交互(如果需要交互,可以-d后台运行之后再输入docker exec <容器ID> /bin/bash)
  3. -p:端口映射,如果你电脑本地没有运行tomcat等服务器软件并且你只打算开一个docker容器的话可以不加
  4. -v:数据卷,这个路径是我电脑的,所以你不能直接拷贝运行上面的命令。我这样做的好处就是1.可以直接看运行日志 2. 将war包放到桌面的travelWeb文件夹下就可以在容器中自动部署了,操作方便

这里有一点要注意,docker run命令中,镜像名要写在所有参数之后(就像我上面所做的那样),否则可能会报错,例如starting container process caused "exec: \"-d\": executable file not found in $PATH": unknown.

  1. 之后,将war包拷贝到上面数据卷映射的本地文件夹下,就可以在本地浏览器上输入localhost:8081/<项目名>运行web项目了

docker的好处就是能同时使用多个容器来模拟多个服务器