最近用docker做了一个mysql的容器,启动发现里面的日期跟宿主机差了八个小时,起初以为是mysql的时区问题,后来发现是docker容器里面的时间问题。

进入宿主机和docker 内部 使用 date命令查询一下:

docker安装mysql与宿主机相差8小时的问题。_docker

这是由于:

宿主机采用了CST时区,CST应该是指(China Shanghai Time,东八区时间)
容器采用了UTC时区,UTC应该是指(Coordinated Universal Time,标准时间)

解决:

因为我已经把容器起起来了,所以采用从宿主机拷贝到容器内部的方式,如果你还没有run起来容器,最好制作容器的时候就把时间文件挂载上。

docker cp /usr/share/zoneinfo/Asia/Shanghai mysql:/etc/localtime

重启一下:

docker restart mysql

验证一下:

docker安装mysql与宿主机相差8小时的问题。_docker_02


已经同步了。