参考:https://blog.csdn.net/eumenides_/article/details/94719944

       https://muguang.me/it/2658.html

  使用docker部署容器时,输出日志时间会比系统正常时间少8小时

  1,环境查看

  

  2,创建容器查看日志

  启动一个容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql3306 mysql:5.7

  查看日志

docker logs mysql3306

  可以看到日志比系统时候少8小时

  登录容器查看时区和时间(于日志时间一致)

root@217fd4ef2dc7:/# date
Fri Aug 16 06:55:12 UTC 2019
root@217fd4ef2dc7:/# date -R
Fri, 16 Aug 2019 06:55:15 +0000

  删除容器

docker kill mysql3306

docker rm mysql3306

  新建一个容器使用链接让容器使用系统时区

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro --name mysql3306 mysql:5.7

  -v链接系统时区

  可以在宿主机查看这两个时区文件

root@test-docker01:/nas/scripts# ll /etc/localtime
lrwxrwxrwx 1 root root 33 7月 7 06:05 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
root@test-docker01:/nas/scripts# cat /etc/timezone
Asia/Shanghai

  查看日志,时间还是相差8小时

docker logs mysql3306

  登录容器查看

./docker_in.sh  mysql3306

  日期和时区设置是正常的

root@f6a3ea6e7b42:/# date
Fri Aug 16 15:01:59 CST 2019
root@f6a3ea6e7b42:/# date -R
Fri, 16 Aug 2019 15:02:01 +0800

  MySQL使用记录日志还有一个设置需要修改

  登录MySQL查看,日志记录使用UTC时区,需要修改成系统时区

MySQL [(none)]> show variables like "log_timestamps";
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| log_timestamps | UTC |
+----------------+-------+
1 row in set (0.01 sec)

  临时修改

 set global log_timestamps="SYSTEM";

  再次查看

MySQL [(none)]> show variables like "log_timestamps";
+----------------+--------+
| Variable_name | Value |
+----------------+--------+
| log_timestamps | SYSTEM |
+----------------+--------+
1 row in set (0.00 sec)

  使用错误的密码登录一次产生日志再次查看日志时间对了

  设置永久生效,修改MySQL配置文件my.cnf

[mysqld]
log_timestamps=SYSTEM

  如果是使用docker-compose启动则需要修改配置文件添加以下内容

volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro

  同时修改mysql配置文件

  PS:如果docker-compose已经启动则添加配置重启无效需要删除容器再重新up才能生效

 docker-compose down
docker-compose up -d

docker之容器日志输出与系统时间相差8小时解决办法的更多相关文章

  1. 解决weblogic与系统时间相差8小时的问题

    解决weblogic与系统时间相差8小时的问题 在一般情况下weblogic与系统时间是很少会出现时间差的问题,但有可能在某一特定的情况下就会出现,如使用weblogic8版本时可能会出现时差问题: ...

  2. Manjaro 与 Windows 双系统时间相差8小时

    Manjaro 与 Windows 双系统时间相差8小时 产生原因: Windows 将本地硬件时间作为设定时区(如 UTC+8)的区时,而 Linux 默认将其作为 UTC 时间. 解决方式: 让 ...

  3. win7和ubuntu双系统,win7时间晚8小时解决办法。

    装了Win7和Ubuntu双系统后发现,使用Ubuntu后再登陆win7时系统显示时间不准确,比实际时间晚了8小时. 搜索后发现原来Linux和Windows的系统时间管理是不同的.Linux是以主板 ...

  4. CentOS系统时间与现在时间相差8小时解决方法

    很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...

  5. centos7系统日志时间与系统时间相差8小时

    场景:当我们修改完系统时间的时区后,我们去查看我们的系统日志的时间发现时区还是在之前的系统时间时区. [root@vp-n ~]# ls -l /etc/localtime lrwxrwxrwx 1 ...

  6. Docker进入容器后使用ifconfig等命令“command not found”解决办法

      当进入一个容器后,使用ifconfig.ip addr等命令时,出现如下“command not found”:       解决办法:   yum update yum -y install n ...

  7. Java获取时间与系统时间相差8小时终极解决方案

    一.在取日期以前设置一下时区 TimeZone tz = TimeZone.getTimeZone(“ETC/GMT-8″);TimeZone.setDefault(tz); 此种方法适用于单次快速获 ...

  8. 苹果与Windows双系统时间不同步的解决办法

    步骤:打开C盘>Windows>System32,找到cmd.exe,右键以管理员的身份运行. Reg add HKLM\SYSTEM\CurrentControlSet\Control\ ...

  9. 【转】PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法

    原因:                                                                                              网络资 ...

随机推荐

  1. Linux Shell 如何获取参数

    $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...

  2. asp.net+ tinymce粘贴word

    公司做的项目需要用到粘贴Word功能.就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中.Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我 ...

  3. 转 Storm JAVA_HOME is incorrectly set.

    问题可能有两个原因: 1.在环境变量中未设置JAVA_HOME变量名称. 解决办法: 在环境变量中添加. 或者在storm中的bin文件下有一个storm-config.cmd,使用文本打开,查询JA ...

  4. 2019暑期金华集训 Day7 分治

    自闭集训 Day7 分治 主定理 由于我沉迷调题,这个地方没听课. 某些不等式 咕了 nth_element 使用快速排序的思想,选一个中间点,看左右有多少个. 期望复杂度\(O(n)\). 首先把一 ...

  5. 下载 Java

    官网:https://www.java.com 官网可以下载到最新版本,如果需要下载旧版本的,可以访问: http://www.oracle.com/technetwork/java/archive- ...

  6. Java SpringBoot 实体类数据自动验证

    package demo.dto; import org.hibernate.validator.constraints.Length; import javax.validation.constra ...

  7. elasticsearch type类型创建时注意项目,最新的elasticsearch已经不建议一个索引下多个type

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping.html如果有两个不同的类型,每个类型都有同名的字段,但映射不同 ...

  8. T-MAX组--项目冲刺(第二天)

    THE SECOND DAY 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 T-MAX组--项目冲刺(第二天) 团队名称 T-M ...

  9. PostgreSQL中定时job执行(pgAgent)

    PostgreSQL中定时job执行 业务分析 近期项目需要定期清理数据库中的多余数据,即每月1号删除指定表中一年以上的数据. 初步分析这种定时job可以使用一下两种技术实现: Linux的cront ...

  10. NTC3950-10K温度传感器

    一.计算公式 补充: B=3950 R=10K T2=25度 查RT表,25度对应的是10K 电路: 热敏电阻与上拉电阻R813分压,获取温度与Vo电压的关系,在根据Vo折算出与MCU ADC的数值. ...