• 主机、Docker时间与时区设置总结


    最近在使用Docker容器时,部署java程序发现时间输出不对,在修改问题时总结如下。

      #date [-R]                       #查看主机时间
      #timedatectl                           #查看主机时区
      #tzselect                         #选择时区,5 选择亚洲 > 9 选择中国时区 -> 1选择北京时间 -> 1 选择Yes

    修改主机时区

    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime             #上海时间
    rm /etc/localtime
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime          #上海时间

    更新主机时间

    date                                      #查看当前系统时间
    yum install -y ntpdate                    #安装ntpdate程序
    ntpdate cn.pool.ntp.org                   #更新系统时间
    date                                      #再次查看当前系统时间    

    网络时间服务器

    复制代码
    ntp1.aliyun.com
    ntp2.aliyun.com
    ntp3.aliyun.com
    ntp4.aliyun.com
    ntp5.aliyun.com
    ntp6.aliyun.com
    ntp7.aliyun.com
    0.cn.pool.ntp.org
    1.cn.pool.ntp.org
    2.cn.pool.ntp.org
    3.cn.pool.ntp.org
    复制代码

    同步BIOS时钟,强制把系统时间写入CMOS

    clock --show                         #查看硬件时间
    clock -w                             #强制把系统时间写入CMOS
    clock --show                         #查看硬件时间
    reboot                               #重起机器

    设置系统自动同步时间

    vi /etc/crontab                            #设置定时任务
    
    00 0 1 * * ntpdate -s cn.pool.ntp.org      --每月一号同步
    * */1 * * * ntpdate -s cn.pool.ntp.org     --每一个小时同步

    Docker时间和宿主同步方法

      1.在run容器时添加参数挂载宿主时间配置:  -v /etc/localtime:/etc/localtime

      2.复制宿主localtime时间配置覆盖:  docker cp /etc/localtime container_id:/etc/localtime

      3.在启动jar包添加时区参数:  -Duser.timezone=GMT+08

    Docker容器设置时区

      #docker exec -it container_id /bin/bash            #进入容器命令

      #修改时区,设置为上海时区
      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      或者
      cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    Docker设置build参数

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

    构建dockerfile镜像.

    备注:
    作者:Shengming Zeng
    博客:http://www.cnblogs.com/zengming/
    严正声明:
    1.由于本博客部分资源来自互联网,版权均归原作者所有。转载的目的是用于学术交流与讨论学习,将不对任何资源负法律责任。
    2.若无意中侵犯到您的版权利益,请来信联系我,我会在收到信息后会尽快给予处理!
    3.所有资源内容仅供学习交流之用,请勿用作商业用途,谢谢。
    4.如有转发请注明出处,来源于http://www.cnblogs.com/zengming/ ,谢谢合作。

  • 相关阅读:
    团队开发冲刺第十五天
    团队开发冲刺第十四天
    团队开发冲刺第十三天
    团队开发冲刺第十二天
    团队开发冲刺第十一天
    团队开发冲刺第十天
    幸运抽奖案例
    java中如何数组是如何赋值的?
    使用java中的String类操作复杂的字符串
    java中随机生成26个字母组合的随机验证码
  • 原文地址:https://www.cnblogs.com/adolfmc/p/12185139.html
Copyright © 2020-2023  润新知