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

前两天使用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参数将日期同步一下

作者:first_semon
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
原文地址:https://www.cnblogs.com/first-semon/p/13188907.html