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;