Docker部署(三):Apache Tomcat

简介

Apache Tomcat(或简称Tomcat)是由Apache Software Foundation(ASF)开发的一个开源Web服务器和servlet容器。Tomcat从Oracle实现Java Servlet和JavaServer Pages(JSP)规范,并为要运行的Java代码提供“纯Java”HTTP Web服务器环境。在最简单的配置中,Tomcat运行在单个操作系统进程中。该进程运行一个Java虚拟机(JVM)。从浏览器到Tomcat的每个HTTP请求都在Tomcat进程中的一个单独的线程中处理。

对于每一个学习Java Web的来说, 最开始接触的一定是这个tomcat服务器, 我们一般在本地运行打包并不会有任何的问题, 但是当你把你的web项目打包成war发布到生产环境时, 你一定会发现jre版本跟开发版本不一致跑不起来。这时候你上Docker Tomcat容器, 可以任意的切换各个版本的Tomcat以及jre...

Tomcat 容器

官方提供的版本 tag 以及Dockerfile

  • Tomcat7/jre7:7.0.82-jre7, 7.0-jre7, 7-jre7, 7.0.82, 7.0, 7
  • Tomcat7/jre7-alpine:7.0.82-jre7-alpine,7.0-jre7-alpine,7-jre7-alpine,7.0.82-alpine,7.0-alpine,7-alpine
  • Tomcat7/jre8:7.0.82-jre8-alpine,7.0-jre8-alpine,7-jre8-alpine
  • Tomcat7/jre8-alpine:8.0.47-jre7,8.0-jre7,8.0.478.0
  • Tomcat8.0/jre7: 8.0.47-jre7, 8.0-jre7, 8.0.47, 8.0
  • Tomcat8.0/jre-alpine:8.0.47-jre7-alpine, 8.0-jre7-alpine, 8.0.47-alpine, 8.0-alpine
  • Tomcat8.0/jre8:8.0.47-jre8, 8.0-jre8
  • Tomcat8.0/jre8-alpine:8.0.47-jre8-alpine, 8.0-jre8-alpine
  • Tomcat8.5/jre8:8.5.24-jre8, 8.5-jre8, 8-jre8, jre8, 8.5.24, 8.5, 8, latest
  • Tomcat8.5/jre8-alpine:8.5.24-jre8-alpine, 8.5-jre8-alpine, 8-jre8-alpine, jre8-alpine, 8.5.24-alpine, 8.5-alpine, 8-alpine, alpine
  • Tomcat9.0/jre8:9.0.2-jre8, 9.0-jre8, 9-jre8, 9.0.2, 9.0, 9
  • Tomcat9.0/jre-alpine:9.0.2-jre8-alpine, 9.0-jre8-alpine, 9-jre8-alpine, 9.0.2-alpine, 9.0-alpine, 9-alpine

下载运行Tomcat容器

$ docker run --name=tomcat -p 8080:8080 -d tomcat:9.0-alpine

我们知道了镜像的版本, 可以直接运行容器, 在运行的时候会自动从远程中拉取镜像到本地; 好了,现在打开你的Chrome输入http://ip:8080即可看到tomcat欢迎页面了。

扩展

Tomcat7、8、9镜像的默认环境是:

你可以使用Docker的Volume -v把容器内的文件绑定到物理机,方便数据的备份与传递。

   CATALINA_BASE:   /usr/local/tomcat
   CATALINA_HOME:   /usr/local/tomcat
   CATALINA_TMPDIR: /usr/local/tomcat/temp
   JRE_HOME:        /usr
   CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat容器部署应用有两种方式。

  • 静态部署: 把你准备好的war包上传到tomcat/webapps目录下即可。

  • 动态部署: 可以在服务器启动之后部署web应用程序,而不用重新启动服务器。需要你修改tomcat/conf/tomcat-users.xml 新增一个manager-gui的角色role

    
    
    

你可能感兴趣的:(Docker部署(三):Apache Tomcat)