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

Posted 别再闹了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker部署tomcat|tomcat基础使用第二篇相关的知识,希望对你有一定的参考价值。

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

1. review

  1. tomcat服务器学习:https://www.cnblogs.com/jiading/p/11974935.html
  2. docker学习:https://www.cnblogs.com/jiading/p/12131441.html

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.

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

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

以上是关于使用docker部署tomcat|tomcat基础使用第二篇的主要内容,如果未能解决你的问题,请参考以下文章

使用docker部署nginx+tomcat架构:访问mysql数据库

Docker容器Tomcat部署war包

使用docker部署nginx+tomcat架构:使用docker-compose简化部署操作

如何在docker部署安装tomcat环境

Docker Review - docker部署Tomcat & Nginx

docker学习4-docker安装tomcat环境和部署war包