docker swam单机启动多个springboot实例,log挂载问题
一.场景
在docker中,通过swam我们可以搭建一个集群,一般来说,我们在docker-compose里面配置了3个实例,docker就会在三个宿主机上各自启动一个容器,
每个容器在各自宿主机上挂载着一个路径。现在我们希望,在一台机器上启两个springboot容器,那么这两个sprinigboot容器挂载的日志会是同一个,导致日志
混乱,因此我们希望有一种方式,可以将一台宿主机上的两个服务日志挂载到两个不同的路径上。
应用:Springboot log4j2 docker
二.解决方法
在Springboot启动类中,我们设置一个全局变量设置hostName作为日志名
@SpringBootApplication
public class Application {public static void main(String[] args) throws Exception {System.setProperty("hostName", InetAddress.getLocalHost().getHostName());//hostName可以不用定义,因为系统本身就有hostName这个变量,该条可以不用写在日志中也可以直接引用,如果是System.setProperty("test","path1");在日志中引用方式为${test},${sys:test},${env:test},都可以尝试下,我的是${sys:test}生效SpringApplication.run(Application.class, args);}
}
在log4j2配置文件中我们使用hostName
<RollingRandomAccessFile name="RollingFileLog" fileName="${hostName}.log" filePattern="${LOG_FILE_NAME}.log.%d{yyyy-MM-dd}.gz">
</RollingRandomAccessFile>
然后docker swam启动服务的时候,每个容器对应的hostname默认就是容器id,因此即使在一台机器上启动了3个springboot实例,那么他们也会输出到3个日志文件上面而不是一个日志上。
docker swam单机启动多个springboot实例,log挂载问题相关推荐
- MySQL之——Linux单机启动多个MySQL实例(mysqld_multi )
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48352733 一.背景说明 以往在使用mysql时用的多的是仅仅使用一个mysql ...
- 如何让IDEA启动多个SpringBoot实例
文章目录 SpringBoot启动多个实例 SpringBoot启动多个实例 在IDEA中如何让SpringBoot启动多个实例,分别占用不同的端口,这对我们平常测试时很有帮助的,特别是SpringC ...
- 【ZooKeeper Notes 5】单机启动多个zk实例注意点
转载请注明:@ni掌柜 nileader@gmail.com 1. 分配不同的myid. 2. 不同实例,clientPort一定要不同. 3. 使用不同的zoo.cfg文件,并且dataDir和da ...
- docker对已经启动的容器添加目录映射(挂载目录)
文章目录 1. 背景 2. 开始新增挂载目录 3. 注意 1. 背景 在自己安装sharding-proxy时,使用docker run -v的方式启动时,只挂载了/opt/shardingspher ...
- 一.Docker之springboot+docker swam实现负载均衡
首先准备三台机器,这里选择216.248.249 选其中一台机器作为主节点,作为Manager,这里选216 1.在216上初始化swam集群,在终端执行 docker swarm init --ad ...
- docker常规操作——启动、停止、重启容器实例
本系列目录请看这里 https://blog.csdn.net/michel4liu/article/details/80819510 前几篇我们已经掌握了docker容器实例的运行,接下来我们就来了 ...
- 利用 Docker 搭建单机的 Cloudera CDH 以及使用实践
利用 Docker 搭建单机的 Cloudera CDH 以及使用实践 想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用.其实操作的流和使用到的命令差不多就一 ...
- docker部署mysql项目_docker部署springboot项目(web + mysql)
前言 docker目前是非常热门的项目,本文暂不讨论docker集群环境中的部署项目问题. 环境准备 1. docker环境(本文使用centos7下的docker环境) 2. javaWeb项目(s ...
- docker swam 集群实现负载均衡
docker swam 集群实现负载均衡 文章目录 docker swam 集群实现负载均衡 1. 初始化集群 2. 虚拟IP 3. 服务发现 4. 多主机LB和服务发现 1. 初始化集群 第一个节点 ...
最新文章
- 如何解决visual studio2017 install 下载安装极慢的问题
- java编程点滴(3)--ubuntu下jdk的配置
- 阿里云ARMS重磅推出小程序监控,助力小程序稳定运行
- 计算机四级考试题数据库,计算机四级考试《数据库系统工程师》试题及答案
- mysql 5.6 参数详解
- 最小堆最大堆的详细解读
- Find n‘th number in a number system with only 3 and 4
- AIML应答机器人(一)aiml简介
- html速成按钮样式,前端技巧集:从零制作华丽的按钮CSS样式
- bootstrap table表格 设置背景颜色 设置字体颜色cellStyle 显示隐藏列(更换工具栏图标) 固定列 导出(兼容全部导出时(all)) 调整列宽 日期格式化1970-01-01bug
- 更新WP Mango应用磁贴内容的3种方法
- 胡昊—第8次作业--继承
- 编辑器,编译器与集成开发环境(IDE)
- 1253. 将数字转换为16进制
- docker_swarm_集群创建_数据共享_负载均衡
- 取消华为mate30 删除图片时手机弹出提示:“..检测xx删除了图片..“
- 可解释性神经网络——1.xNN
- mac安装cornerston3
- IC设计前后端常用的英文术语
- 数据库管理系统,数据库,数据库系统的定义及其区别
热门文章
- git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git
- RibbonGatewayopenFeign
- MFC中操作Word文档
- JavaSE Set HashSet LinkedHashSet TreeSet 集合练习
- DHT11(ASAIR)温湿度传感器的使用(软件)
- VtigerCRM配置网易企业邮箱SMTP 和 POP3服务
- 小白问题,python anaconda关系 pip install安装包
- 文字识别(六)--不定长文字识别CRNN算法详解
- java常用计算公式
- php将一组数从小到大排序,php数组排序从小到大函数