问题描述
在Docker 里面创建的文件的时间戳使用的是Docker的系统时间,而本地时间比docker时间多八个小时,看了下时区,docker 采用标准时区,并未采用东八时区。如下所示:
解决办法:
将本地的时区配置文件copy到容器中,具体如下:
# 复制本地的时区配置文件到容器中
[root@localhost ~]# docker cp /usr/share/zoneinfo/Asia/Shanghai 37862:/home
# 进入容器
[root@localhost ~]# docker exec -it 37862 bash
# 创建 时区文件
root@37862f78c603:/# mkdir -p /usr/share/zoneinfo/Asia/
root@37862f78c603:/# cp /home/Shanghai /usr/share/zoneinfo/Asia/
# 定义本地的时区配置文件
root@37862f78c603:/# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
root@37862f78c603:/# date 查看容器时间
Wed May 6 12:42:49 CST 2020
root@37862f78c603:/# exit
[root@localhost ~]# date 本地系统时间,
Wed May 6 12:42:53 CST 2020
通过以上简单的步骤就可以简单的设置docker容器的时间与本地系统时间一致,解决日志等具备时间戳属性的文件的实践出正常。