设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11054|回复: 0

解决docker中mysql时间与系统时间不一致问题

[复制链接]

90

主题

863

回帖

1573

积分

金牌会员

Rank: 6Rank: 6

积分
1573
发表于 2022-3-26 11:00:48 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
最近在Docker中装mysql时,发现数据库时间与系统时间相差8个小时。
linux服务器时间:

进入mysql,输入date如下

发现两者时区不同。因为mysql容器是在docker中安装的,所以mysql的时间不对应该是宿主docker导致的。
查询资料发现,docker的默认时区是0区,其实这会对安装的容器造成不少麻烦,比如执行日志的记录不准确等。
有如下两种方式解决:
方法一:复制主机的localtime
  1. docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime
复制代码
注意:因为时区问题可能上面命令会报下面错误
  1. Error response from daemon: Error processing tar file(exit status 1): 
  2. invalid symlink "/usr/share/zoneinfo/UCT" -> "../usr/share/zoneinfo/Asia/Shanghai"
复制代码
查看这个文件

发现这个文件引用了一个地址
解决方案:切换命令
  1. docker cp /usr/share/zoneinfo/Asia/Shanghai[容器ID或者NAME]:/etc/localtime
复制代码
然后重启容器
  1. docker  restart [容器ID或者NAME]
复制代码
方法二:共享主机的localtime
创建容器的时候指定启动参数,挂载localtime文件到容器内
  1. docker run --name -v /etc/localtime 容器id:/etc/localtime:ro ....
复制代码
两者时区不一致的问题就解决了。
到此这篇关于docker中mysql时间与系统时间不一致问题的文章就介绍到这了,更多相关docker时间不一致内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
                                                        
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表