Docker中MySQL时间与系统时间不一致怎么解决

Linux教程 pcbiji 606浏览 0评论

最近,电脑笔记网在 Docker 中安装 MySQL 时,发现 MySQL 时间与系统时间相差 8 个小时这是怎么回事呢,查询资料后发现,Docker 的默认时区是 0 区,这就会对安装的容器造成不少麻烦,比如执行日志的记录不准确等。我们今天就来教教大家 Docker 中 MySQL 时间与系统时间不一致怎么解决,看看能不能帮助到大家。

Docker 中 MySQL 时间与系统时间不一致怎么解决

Docker 中 MySQL 时间与系统时间不一致怎么解决

首先,我们来看下 Docker 中 MySQL 时间与系统时间不一致是什么样的,下面是系统时间:

Docker 中 MySQL 时间与系统时间不一致怎么解决

下面是进入 MySQL,输入命令:date 后,显示的时间:

Docker 中 MySQL 时间与系统时间不一致怎么解决

我们可以发现这两者是不一样的,那么 Docker 中 MySQL 时间与系统时间不一致怎么解决呢,我们找到了两种解决办法,大家继续往下看。

一、复制主机的 localtime

需要使用下面的命令:

docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime

需要注意的是,因为时区问题,上面的命令可能会报下面的错误:

Error response from daemon: Error processing tar file(exit status 1): 
invalid symlink "/usr/share/zoneinfo/UCT" -> "../usr/share/zoneinfo/Asia/Shanghai"

这时,就需要去查看这文件:

Docker 中 MySQL 时间与系统时间不一致怎么解决

而这个文件又引用了另一个地址,我们更换下上面的命令:

docker cp /usr/share/zoneinfo/Asia/Shanghai[容器ID或者NAME]:/etc/localtime

然后重启 Docker 即可。

二、使用主机的 localtime

我们在创建容器的时,就指定启动参数,挂载 localtime 文件到容器内,使用下面的命令即可:

docker run --name -v /etc/localtime 容器id:/etc/localtime:ro ....

这样,Docker 中 MySQL 时间与系统时间不一致的问题就可以解决了,以上这些内容就是 Docker 中 MySQL 时间与系统时间不一致怎么解决教程,有本这个问题困扰的小伙伴赶紧来对照教程解决吧。

转载请注明:电脑笔记网 » Docker中MySQL时间与系统时间不一致怎么解决

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址