docker 解决 mysql 容器的时区(与东八区差8小时)问题
在使用docker 生成的mysql容器时,在表中有timestamp类型的字段时,我们会发现生成的时间与我们所用的北京时间(东八区)相差8个小时!并且通过mysql工具和更改配置文件的方式无法更改!!经过多次尝试,找到了解决办法!!
- 原因,docker 生成的mysql容器,默认是使用的格林威治天文台时区的时间,与我们所用时区(东八区)相差了有八个时区!
-
解决办法:
- 在生成mysql容器的时候使用 -e TZ=Asia/Shanghai 命令指定时区
# 命令 -e TZ=Asia/Shanghai 指定时区 # -e MYSQL_ROOT_PASSWORD= 初始化mysql的密码 # -v 主机目录:容器目录 挂载,同步容器的数据到本地主机 # --name 给容器起名 # -d 后台启动 # -p 端口映射 docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=xxxxxx --name mysql01 mysql:5.7
-
查看效果
解决,大功告成!!!