Docker Java应用日志时间和容器时间不一致

1.在docker容器和系统时间不一致是因为docker容器的原生时区为0时区,而国内系统为东八区。 
2.还有容器中运行的java应用打出的日志时间和通过date -R方式获取的容器标准时间有八个小时时间差。 
也就是容器时间和系统时间一致,但是部署的应用和容器时间不一致。Tomcat中部署java应用为例。

修改容器的时区

cp  /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime   

修改tomcat JAVA_OPTS

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"

原文地址:https://www.cnblogs.com/fengjian2016/p/8502783.html

时间: 2024-10-07 17:59:42

Docker Java应用日志时间和容器时间不一致的相关文章

Docker运行java应用,应用日志时间和容器时间不一致

docker运行activemq,日志时间和容器时间如下: d我执行date命令隔了几分钟,由时间上发现正好差了8个小时,怀疑还是时区的原因. 2.疑惑 有好友称,讲宿主机的/etc/locatime挂载到容器中,就会解决此问题.可是得到的结果是依然是上图. 3.查询资料,请教大神,得到结果 在java应用启动前,添加参数 -Duser.timezone=GMT+08 4.我的java应用是Activemq消息队列,编辑activemq的启动脚本 vi   /opt/activemq/bin/a

centos7下安装docker(18docker日志---docker logs)

在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要,考虑到容器的短暂和不固定周期,当我们需要排查问题的时候容器可能不在了.因此,一套集中式的日志管理系统是生产环境中不可或缺的组成部分 docker logs docker 自带的日志功能 对于一个运行的容器,docker 会将日志发送到容器的标准输出(STDOUT)和标准错误设备(STDERR),stdout和stderr实际上就是容器的控制台终端 例如: 当我们用docker run -p 80:80 http

docker容器时间不对及java程序时间不对解决

使用docker容器部署的应用,会出现时间与主机不一致的情况 1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致 解决方法:挂载主机的/etc/localtime,如果没有则cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 如果里面运行的是java程序,哪么程序时间还是会8个小时的差别:主要是Java或取时间是从/etc/timezone里获取时区 解决方法:挂载主机的/etc/timezone,如果没有则

docker+jenkins的构建历史记录(Build History)时间不正确

1.分别查看宿主机时间和容器时间 宿主机时间 [email protected]:/# date Fri Jan 11 14:17:53 CST 2019 容器时间 [[email protected]001 ~]# docker exec -ti 87986863838b /bin/bash [email protected]:/# date Fri May 11 06:17:55 UTC 2019 发现两者的时间相差两个小时 宿主机采用了CST时区,CST应该是指(China Shangha

在MySQL 5.7日志时间与本地时间不一致的问题

在MySQL 5.7.2 新增了 log_timestamps 这个参数,该参数主要是控制 error log.genera log,等等记录日志的显示时间参数. 在 5.7.2 之后改参数为默认 UTC 这样会导致日志中记录的时间比中国这边的慢,导致查看日志不方便.修改为 SYSTEM 就能解决问题 2个办法: 1:修改[ mysqld] log_timestamps = SYSTEM 重启 2:登入命令行界面: SHOW GLOBAL VARIABLES LIKE 'log_timestam

IIS 7 出现日志文件时间与服务器时间不符

最近在分析web日志,发现IIS7日志中时间与系统时间不一致,即本该上班时间才产生 的产并发访问日志,全部发生在凌晨至上班前. 本以为是系统时间设置错误,检查后一切正常.后查询资料,原来是这个原因: 日志的格式有IIS.NCSA.W3C三种: 1.IIS是固定的基于 ASCII 文本的格式,无法自定义记录的字段,字段由逗号分隔, 记录的时间为本地时间文件名前缀为u_in. 2.NCSA是美国国家超级计算技术应用中心 (NCSA) 公用日志文件格式,也是固定的基 于 ASCII 文本的格式,无法自

linux学习笔记——日志分析管理同步、修改时间、同步时间

############################################################第十单元####################################################################### 1.rsyslogd服务(syslogd加强版)rsyslogd服务功能是用来管理系统日志功能:1)直接将日志写入到数据库2)日志队列(内存队列和磁盘队列)3)模板机制,可以得到多种输出格式4)插件式结构,多种多样的输入.输出模

svn查看日志(show log)显示时间为1970的解决方法

问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” 2.在authz中添加 [/]* = r 3,清理svn的cache 即可 svn查看日志(show log)显示时间为1970的解决方法,布布扣,bubuko.com

关于时间的操作(Java版)——获取距离系统时间N天后的日期时间信息

import java.util.Calendar; import java.util.TimeZone; public class Test { /** * 获取距离系统时间N天后的日期时间信息 * * @author GaoHuanjie */ public String getDateAfterNdays(int days){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); cale