宿主机、容器、真实时间不一致问题

前两天使用docker的日志分割,今天想起来看看docker容器中的日志有没有分割出来到宿主机上,

不看不知道,一看吓一跳,有分割日志,但是好像少了昨天的日志,看了以下容器中是否是今天的日期,

一看容器中是今天的日期,但是在0点的时候昨天的日志没有分出来,因为它还在容器中,一开始以为脚本写错了,

后来发现宿主机的日期还是容器日期的前一天,这就怪了,为什么不一致呢,另外发现宿主机的时间比北京时间早了12个小时,这是为什么呢?

ls -li /etc/localtime

看了一下时区,卧槽怎么是纽约的,怪不得比北京时间晚12小时。

然后改了宿主机的时区软连接

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

键入date时间一致了。

现在docker的时间与宿主机的还不一样。怎么办呢?不要着急,使用下面的命令

docker cp /etc/localtime [容器id]:/etc/localtime

在执行一下一下命令查看一下日期

docker exec -it [容器ID] /bin/bash
进入容器
date查看日期

另外高级的如果有dockerfile文件,可以将上面一条命令写入到dockerfile中,或者在启动的时候通过-v参数将日期同步一下

posted @ 2020-06-24 17:50  first_semon  阅读(243)  评论(0编辑  收藏  举报