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 包就行了。

转载于:https://www.cnblogs.com/operationhome/p/11322139.html

Tomcat 简单容器化相关推荐

  1. kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析

    作者:詹雪娇,腾讯云容器产品经理,目前主要负责腾讯云集群运维中心的产品工作. 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云TKE集群和运维中心开发工作. 引言 降本增 ...

  2. 前方高能 | 容器化应用操作原来可以这样简单

    我叫李小财,最近公司打算使用华为云·云容器引擎CCE来做应用容器化改造,派我来率先体验. 简单体验产品以后,我发现控制台多样庞大的功能反而让人有一些迷茫:我要怎么把原本的虚机应用容器化?我要如何部署容 ...

  3. 谷歌助力,快速实现 Java 应用容器化

    原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. Google 在 2018 年下旬开源 ...

  4. Spring Cloud Kubernetes容器化实践

    随着公司业务量和产品线的增加,项目越来越多,普通运维系统架构对整个软件研发生命周期的管理越来越难,效率低下,难以统一管理.近年来Docker统一了容器标准,对于软件开发流程产生了深远的影响,Docke ...

  5. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)

    上个月15日,上海MVP做了一次线下的技术分享活动,我分享的主题是<快速构建容器化的ASP.NET Core应用程序>,有关这次活动的简报,可以参考这里.另外,我的主题分享的PPT也可以点 ...

  6. 小网站的容器化(下):网站容器化的各种姿势,先跟着撸一波代码再说!

    作者 | 王洪鹏 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 封图| CSDN下载于视觉中国 上篇文章:小网站的容器化(上) 中我们大致描述了下个人网站在日常维护中的痛 ...

  7. Docker容器化开发

    目录 1.初识Docker 1.1.Docker概念 1.2.安装Docker 1.3.docker架构 3.docker命令 3.1.进程相关命令 3.2.镜像相关命令 3.3.容器相关命令 4.D ...

  8. Docker容器化技术教程,24小时快速入门

    Docker介绍 Docker简介和安装 Docker是什么 为什么使用Docker 和普通虚拟机的对比 打包.分发.部署 小结 Docker部署的优势 Docker通常用来做什么 重要概念:镜像.容 ...

  9. 【从零搭建后端基础设施系列(九)】-- VM容器化

    ==> 学习汇总(持续更新) ==> 从零搭建后端基础设施系列(一)-- 背景介绍 旁白:今天老大拉小黑他们开会,就公司目前机器资源紧缺进行了讨论-- 老大:自从咱公司开始推行微服务化后, ...

  10. Docker容器化技术

    一.虚拟机与容器的比较 在容器化技术出来之前,使用的是虚拟机技术,虚拟机和Docker容器技术都是一种虚拟化技术 虚拟机包含的是整个操作系统的原生镜像,非常的庞大,而docker的镜像只包含最核心的环 ...

最新文章

  1. 在开发流程中嵌入安全测试
  2. IIS6+Tomcat7整合
  3. C Primer Plus 第5章 运算符、表达式和语句 编程练习及答案
  4. input ios问题
  5. [BZOJ3173][Tjoi2013]最长上升子序列
  6. 怎样练习一万小时(转)
  7. printf打印二进制_优雅地打印 HEX 数据
  8. LED的本质和发光原理是什么,彩色的LED灯是怎么做出来的
  9. Flutter状态管理学习手册(三)——Bloc
  10. Jfree 数据可视化
  11. 菜鸟记录:安卓手机导出微信聊天记录
  12. 广州数控车床M代码指令讲解
  13. DDR3 内存带宽计算
  14. cad画固定长度的弧线_CAD中如何绘制指定弧长的圆弧
  15. 百度竞价有没有好的推广方法?
  16. iFunk翼S苏宁京东热卖进行中
  17. 实时搜索引擎Elasticsearch——Rest API的使用
  18. 内部存储空间 手机存储空间 sd卡
  19. Ubuntu18.04安装sagemath(命令行安装,超方便)
  20. 省市区三级级联JSON解析打印各级key及value

热门文章

  1. css margin
  2. Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior
  3. leetcode[35]搜索插入位置/Search Insert Position 暴力和二分法详解
  4. Illustrator 教程,如何在 Illustrator 中对矢量图进行变形、定形和塑形?
  5. 使用VirtualHostX时如何编辑虚拟机内的文件?
  6. Vim 实用技术,第 2 部分: 常用插件(转)
  7. eclipse tomcat maven热部署
  8. 利用flashback database实现部分对象回滚
  9. Linux中与驱动相关的ioctl函数
  10. maven 多环境打包发布的两种方式