解决Docker容器时区及时间不同步的问题

前几天在测试应用的功能时,发现存入数据库中的数据create_time或者update_time字段总是错误,其他数据都是正常的,只有关于时间的字段是错误的。
进入linux服务器中查看,也没有任何的异常,然后就觉得可能是docker容器的问题,进入到容器中,查看系统时间,果然与宿主机中的时间不同,在网上查了一会儿资料后知道了答案,时区的设置问题,中国的时区为东八区,但是和其他国家的可能会不同,如果在创建容器时没有做修改的话,时区可能就不是东八区了,因此会出现这种类似的问题。

处理方法:

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

在创建容器的Dockerfile文件中添加以上设置即可,再次创建容器,可以看到系统时间已经正常显示为东八区的时间了。

posted @ 2017-06-07 15:04  程序员十三  阅读(5639)  评论(0编辑  收藏  举报