docker安装的mysql 数据库时间与外部服务器不一致问题

Scroll Down

之前写了租赁的一个项目。

今天告诉我说明明是下午15:00测试的,但是为什么订单的创建时间是07:00,差了8个小时。

排查思路:
a.服务器时间问题
b.数据库时间问题

登陆服务器,使用date命令。

image.png

没问题。那难道是数据库时区设置有问题。

进入数据库使用 select now();
image.png

时间还真不对。那就是数据库这块的问题了。

这个数据库是同事用docker安装的。

难道docker服务内部时间有问题、还就是的。

发现就是docker服务的时间和外部宿主机的时间不一致。

业务在创建订单的时候,sql语句用的 create_time = now() 导致订单时间有问题。

那就解决吧,直接把外部宿主机的配置cp到 docker服务里呗;

一般centos 外部宿主机时间配置都在 /etc/localtime

这里我们使用下面指令进行覆盖配置

docker cp /etc/localtime [容器id]:/etc/localtime 

然后重新docker服务docker restart 容器id

image.png

ok 问题解决