docker获取数据库时间相差8小时_docker之容器日志输出与系统时间相差8小时解决办法...

参考: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值