docker中Java程序时钟不一致问题

使用docker容器部署的应用,会出现时间与主机不一致的情况

  1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致
    解决方法:挂载主机的/etc/localtime,如果没有则cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 如果里面运行的是java程序,哪么程序时间还是会8个小时的差别:主要是Java或取时间是从/etc/timezone里获取时区
    解决方法:挂载主机的/etc/timezone,如果没有则新建echo "Asia/shanghai" > /etc/timezone;
    或者是通过jvm参数将时区信息传进jvm里:-Duser.timezone=GMT+08
    参考链接
#挂载configmap作为timezone文件
- mountPath: /etc/timezone
name: timezone
subPath: timezone

- configMap:
   defaultMode: 420
   items:
     - key: timezone
       path: timezone
   name: mysql
 name: timezone

你可能感兴趣的:(docker中Java程序时钟不一致问题)