docker容器比时间比国内少8小时

/ DevOps / 50浏览

问题:docker应用容器时间比北京时间相差8个时

在服务器上运行docker容器之后,发现项目输出日志的时间少了8小时,查看了一下数据库的添加时间,也是少了8小时,通过查找资料得知,是宿主机时间与容器时间时差不一样

UTC时间:世界协调时间(UTC)是世界上不同国家用来调节时钟和时间的主要时间标准,也就是零时区的时间。

CST时间:中央标准时间

Central Standard Time (USA) UT-6:00(美国cst时间:零区时减6个小时)
Central Standard Time (Australia) UT+9:30(澳大利亚cst:加9个半小时)
China Standard Time UT+8:00(中国cst:加8个小时)
Cuba Standard Time UT-4:00 (古巴cst:减4个小时)

如:当UTC时间为0点时,中国CST时间为8点,因为零时区和中国北京时区相差8个时区。

解决方案

Dockerfile 加上
-Duser.timezone=GMT+08
RUN echo 'Asia/Shanghai' >/etc/timezone