docker容器安装了mysql 发现mysql时间与系统时间不一致,因不想重装mysql所以在想解决此问题。                

统一两者的时区有下面几种方法

1)共享主机的localtime

创建容器的时候指定启动参数,挂载localtime文件到容器内,保证两者所采用的时区是一致的。

# docker run -ti -d --name my-nginx -v /etc/localtime:/etc/localtime:ro  docker.io/nginx  /bin/bash

2)复制主机的localtime

[root@slave-1 ~]# docker cp /etc/localtime 87986863838b:/etc/localtime (我采用第二种但报错如下)

[root@localhost etc]# docker cp /etc/localtime b76bf62fe57e:/etc/
Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/etc/localtime" -> "../usr/share/zoneinfo/Asia/Shanghai"

 成功解决方法: 

      docker cp /usr/share/zoneinfo/Asia/Shanghai 2c87bcc41378:/etc/localtime

重启mysql 容器  :

      docker restart 2c87bcc41378

查询MySQL发现时间与系统已同步:

     select now() from dual;

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐