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 包就行了。
转载于:https://www.cnblogs.com/operationhome/p/11322139.html
Tomcat 简单容器化相关推荐
- kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析
作者:詹雪娇,腾讯云容器产品经理,目前主要负责腾讯云集群运维中心的产品工作. 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云TKE集群和运维中心开发工作. 引言 降本增 ...
- 前方高能 | 容器化应用操作原来可以这样简单
我叫李小财,最近公司打算使用华为云·云容器引擎CCE来做应用容器化改造,派我来率先体验. 简单体验产品以后,我发现控制台多样庞大的功能反而让人有一些迷茫:我要怎么把原本的虚机应用容器化?我要如何部署容 ...
- 谷歌助力,快速实现 Java 应用容器化
原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. Google 在 2018 年下旬开源 ...
- Spring Cloud Kubernetes容器化实践
随着公司业务量和产品线的增加,项目越来越多,普通运维系统架构对整个软件研发生命周期的管理越来越难,效率低下,难以统一管理.近年来Docker统一了容器标准,对于软件开发流程产生了深远的影响,Docke ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)
上个月15日,上海MVP做了一次线下的技术分享活动,我分享的主题是<快速构建容器化的ASP.NET Core应用程序>,有关这次活动的简报,可以参考这里.另外,我的主题分享的PPT也可以点 ...
- 小网站的容器化(下):网站容器化的各种姿势,先跟着撸一波代码再说!
作者 | 王洪鹏 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 封图| CSDN下载于视觉中国 上篇文章:小网站的容器化(上) 中我们大致描述了下个人网站在日常维护中的痛 ...
- Docker容器化开发
目录 1.初识Docker 1.1.Docker概念 1.2.安装Docker 1.3.docker架构 3.docker命令 3.1.进程相关命令 3.2.镜像相关命令 3.3.容器相关命令 4.D ...
- Docker容器化技术教程,24小时快速入门
Docker介绍 Docker简介和安装 Docker是什么 为什么使用Docker 和普通虚拟机的对比 打包.分发.部署 小结 Docker部署的优势 Docker通常用来做什么 重要概念:镜像.容 ...
- 【从零搭建后端基础设施系列(九)】-- VM容器化
==> 学习汇总(持续更新) ==> 从零搭建后端基础设施系列(一)-- 背景介绍 旁白:今天老大拉小黑他们开会,就公司目前机器资源紧缺进行了讨论-- 老大:自从咱公司开始推行微服务化后, ...
- Docker容器化技术
一.虚拟机与容器的比较 在容器化技术出来之前,使用的是虚拟机技术,虚拟机和Docker容器技术都是一种虚拟化技术 虚拟机包含的是整个操作系统的原生镜像,非常的庞大,而docker的镜像只包含最核心的环 ...
最新文章
- 在开发流程中嵌入安全测试
- IIS6+Tomcat7整合
- C Primer Plus 第5章 运算符、表达式和语句 编程练习及答案
- input ios问题
- [BZOJ3173][Tjoi2013]最长上升子序列
- 怎样练习一万小时(转)
- printf打印二进制_优雅地打印 HEX 数据
- LED的本质和发光原理是什么,彩色的LED灯是怎么做出来的
- Flutter状态管理学习手册(三)——Bloc
- Jfree 数据可视化
- 菜鸟记录:安卓手机导出微信聊天记录
- 广州数控车床M代码指令讲解
- DDR3 内存带宽计算
- cad画固定长度的弧线_CAD中如何绘制指定弧长的圆弧
- 百度竞价有没有好的推广方法?
- iFunk翼S苏宁京东热卖进行中
- 实时搜索引擎Elasticsearch——Rest API的使用
- 内部存储空间 手机存储空间 sd卡
- Ubuntu18.04安装sagemath(命令行安装,超方便)
- 省市区三级级联JSON解析打印各级key及value
热门文章
- css margin
- Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior
- leetcode[35]搜索插入位置/Search Insert Position 暴力和二分法详解
- Illustrator 教程,如何在 Illustrator 中对矢量图进行变形、定形和塑形?
- 使用VirtualHostX时如何编辑虚拟机内的文件?
- Vim 实用技术,第 2 部分: 常用插件(转)
- eclipse tomcat maven热部署
- 利用flashback database实现部分对象回滚
- Linux中与驱动相关的ioctl函数
- maven 多环境打包发布的两种方式