一.场景
在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挂载问题相关推荐

  1. MySQL之——Linux单机启动多个MySQL实例(mysqld_multi )

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48352733 一.背景说明 以往在使用mysql时用的多的是仅仅使用一个mysql ...

  2. 如何让IDEA启动多个SpringBoot实例

    文章目录 SpringBoot启动多个实例 SpringBoot启动多个实例 在IDEA中如何让SpringBoot启动多个实例,分别占用不同的端口,这对我们平常测试时很有帮助的,特别是SpringC ...

  3. 【ZooKeeper Notes 5】单机启动多个zk实例注意点

    转载请注明:@ni掌柜 nileader@gmail.com 1. 分配不同的myid. 2. 不同实例,clientPort一定要不同. 3. 使用不同的zoo.cfg文件,并且dataDir和da ...

  4. docker对已经启动的容器添加目录映射(挂载目录)

    文章目录 1. 背景 2. 开始新增挂载目录 3. 注意 1. 背景 在自己安装sharding-proxy时,使用docker run -v的方式启动时,只挂载了/opt/shardingspher ...

  5. 一.Docker之springboot+docker swam实现负载均衡

    首先准备三台机器,这里选择216.248.249 选其中一台机器作为主节点,作为Manager,这里选216 1.在216上初始化swam集群,在终端执行 docker swarm init --ad ...

  6. docker常规操作——启动、停止、重启容器实例

    本系列目录请看这里 https://blog.csdn.net/michel4liu/article/details/80819510 前几篇我们已经掌握了docker容器实例的运行,接下来我们就来了 ...

  7. 利用 Docker 搭建单机的 Cloudera CDH 以及使用实践

    利用 Docker 搭建单机的 Cloudera CDH 以及使用实践 想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用.其实操作的流和使用到的命令差不多就一 ...

  8. docker部署mysql项目_docker部署springboot项目(web + mysql)

    前言 docker目前是非常热门的项目,本文暂不讨论docker集群环境中的部署项目问题. 环境准备 1. docker环境(本文使用centos7下的docker环境) 2. javaWeb项目(s ...

  9. docker swam 集群实现负载均衡

    docker swam 集群实现负载均衡 文章目录 docker swam 集群实现负载均衡 1. 初始化集群 2. 虚拟IP 3. 服务发现 4. 多主机LB和服务发现 1. 初始化集群 第一个节点 ...

最新文章

  1. 如何解决visual studio2017 install 下载安装极慢的问题
  2. java编程点滴(3)--ubuntu下jdk的配置
  3. 阿里云ARMS重磅推出小程序监控,助力小程序稳定运行
  4. 计算机四级考试题数据库,计算机四级考试《数据库系统工程师》试题及答案
  5. mysql 5.6 参数详解
  6. 最小堆最大堆的详细解读
  7. Find n‘th number in a number system with only 3 and 4
  8. AIML应答机器人(一)aiml简介
  9. html速成按钮样式,前端技巧集:从零制作华丽的按钮CSS样式
  10. bootstrap table表格 设置背景颜色 设置字体颜色cellStyle 显示隐藏列(更换工具栏图标) 固定列 导出(兼容全部导出时(all)) 调整列宽 日期格式化1970-01-01bug
  11. 更新WP Mango应用磁贴内容的3种方法
  12. 胡昊—第8次作业--继承
  13. 编辑器,编译器与集成开发环境(IDE)
  14. 1253. 将数字转换为16进制
  15. docker_swarm_集群创建_数据共享_负载均衡
  16. 取消华为mate30 删除图片时手机弹出提示:“..检测xx删除了图片..“
  17. 可解释性神经网络——1.xNN
  18. mac安装cornerston3
  19. IC设计前后端常用的英文术语
  20. 数据库管理系统,数据库,数据库系统的定义及其区别

热门文章

  1. git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git
  2. RibbonGatewayopenFeign
  3. MFC中操作Word文档
  4. JavaSE Set HashSet LinkedHashSet TreeSet 集合练习
  5. DHT11(ASAIR)温湿度传感器的使用(软件)
  6. VtigerCRM配置网易企业邮箱SMTP 和 POP3服务
  7. 小白问题,python anaconda关系 pip install安装包
  8. 文字识别(六)--不定长文字识别CRNN算法详解
  9. java常用计算公式
  10. php将一组数从小到大排序,php数组排序从小到大函数