zoukankan      html  css  js  c++  java
  • Tomcat 简单容器化

    Tomcat 容器化

    思考

    • 问题1 , Tomcat 容器化,Tomcat 如何配置 APR 连接器

      Tomcat 的基础镜像已经是开启了 APR

    • 问题2, Tomcat 是每次都需要重新构建。

      一、如果公司已经是一整套的 容器化流程已经跑起来的话,那么建议通过 Dockerfile 进行重新构建。

      二、如果只是运行于测试环境,并且是小范围使用的话,我们可以通过 挂载来实现。我们下面会详细讲。

    • 问题3,Tomcat 的日志如何处理?

      首先我们需要搞清楚 Tomcat 会产生哪些日志,首先在 /usr/local/tomcat/logs/ 下是有 5个日志的

      -rw-r----- 1 root root 12083 8月   5 14:48 catalina.2019-08-05.log
      -rw-r----- 1 root root     0 8月   5 11:23 host-manager.2019-08-05.log
      -rw-r----- 1 root root     0 8月   5 11:23 localhost.2019-08-05.log
      -rw-r----- 1 root root   552 8月   5 14:55 localhost_access_log.2019-08-05.txt
      -rw-r----- 1 root root     0 8月   5 11:23 manager.2019-08-05.log
      

      这个我们可以通过挂载目录,让日志写在宿主机对应的目录。而且这些日志 ,Tomcat 是会进行自动切割的。

      还有一个日志是控制台日志,Docker 默认的日志驱动是 json-log, 最终也是写到 /var/lib/docker/containers/container_id/container_id-json.log。我们也可以通过配置 参数来实现切割和压缩。

    实操

    我们这边是用于 测试环境,并且我们项目没有进行容器化,使用容器是为了 让多个 app 放在不同的 Tomcat 里面。这样便于管理。

    所以我们采用的是挂载宿主机目录(更新就进行替换对应的 war 包)来实现的。但是我们这里还是建议在有条件的情况下通过 Dockerfile 进行重新构建。

    基于 Tomcat 镜像 8.5.43-jdk8-openjdk

    挂载目录

    宿主机目录                   挂载至容器的目录
    /opt/hbg/logs/   		   /usr/local/tomcat/logs/
    /opt/hbg/webapps/		   /usr/local/tomcat/webapps/
    

    日志切割

    日志的最大文件为50M, 超过就进行切割。  --log-opt max-size=50m
    日志文件的最大数量  --log-opt max-file=100
    日志文件切割后开启压缩 --log-opt compress=true 
    

    设置时区为 上海

    -e TZ="Asia/Shanghai"
    

    端口映射

    宿主机   容器主机  配置
    81  	8080      -p 81:8080 
    

    运行命令

    docker run  -d  -e TZ="Asia/Shanghai"  --mount  type=bind,src=/opt/hbg/logs/,dst=/usr/local/tomcat/logs/   --mount  type=bind,src=/opt/hbg/webapps/,dst=/usr/local/tomcat/webapps/  --log-opt max-size=50m --log-opt max-file=100 --log-opt compress=true   -p 81:8080  tomcat:8.5.43-jdk8-openjdk
    

    后续更新,我们只需要更新 /opt/hbg/webapps/ 下的 war 包就行了。

  • 相关阅读:
    input 蓝边
    4.【ac自动机】模式串匹配
    3.【二叉树】最近公共祖先
    2.【动态规划】最长回文子串
    1. 【线段树】
    DbUtil
    oauth2
    cas
    Spring-security-web
    JSON Web Tokens
  • 原文地址:https://www.cnblogs.com/operationhome/p/11322139.html
Copyright © 2011-2022 走看看