zoukankan      html  css  js  c++  java
  • docker+jenkins的构建历史记录(Build History)时间不正确

    1、分别查看宿主机时间和容器时间

    宿主机时间

    root@fcaad17f146a:/# date
    Fri Jan 11 14:17:53 CST 2019

    容器时间

    [root@001 ~]# docker exec -ti 87986863838b /bin/bash
    root@fcaad17f146a:/# date                                                                                                                    
    Fri May 11 06:17:55 UTC 2019

    发现两者的时间相差8个小时

    宿主机采用了CST时区,CST应该是指(China Shanghai Time,东八区时间)
    容器采用了UTC时区,UTC应该是指(Coordinated Universal Time,标准时间)

    2、统一两者的时区有下面几种方法
    1)共享主机的localtime
    创建容器的时候指定启动参数,挂载localtime文件到容器内,保证两者所采用的时区是一致的。

    docker run -ti -d --name my-nginx --restart=always -v /etc/localtime:/etc/localtime:ro  docker.io/nginx  /bin/bash

    2)复制主机的localtime

    [root@002 ~]# docker cp /etc/localtime fcaad17f146a:/etc/

    此时容器的时间已经设置成和宿主机相同的时间

     3)复制上海时区到/etc/localtime(建议用这个方法)

    root@002:/# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    root@002:/# date
    Thu Jun 13 12:11:01 CST 2019

     4) timedatactl 命令

    timedatactl set-timezone Asia/Shanghai

    因为jenkins是java开发,java环境读取的时间是根据/etc/timezone的

    查看一下这个文件的内容

    root@fcaad17f146a:/# cat /etc/timezone 
    Etc/UTC

    因此需要把UTC改为CST,或者在UTC的基础上加8小时

    root@fcaad17f146a:/# sed -i 's/UTC/UTC+8/' /etc/timezone
    root@fcaad17f146a:/# cat /etc/timezone 
    Etc/UTC+8

    回到jenkins去构建发现时间已经正常,若不正常就重启jenkins

    注意:新建用户时,需要给用户设置时区为 Asia/Shanghai,不然新建的用户登录后时区时Asia/Yakutsk,比北京时间快一个小时,构建历史记录显示的也是YAKT时间。

  • 相关阅读:
    秋雨梧桐的大门
    期望题选做
    二维线段树->树套树
    二维线段树
    树的重心的应用
    处置固定资产的收到的现金属于投资活动的现金
    分期付款购入固定资产 属于投资还是筹资
    退休金计入管理费用,不计入支付的其他与经营活动相关的现金
    购买商品,接受劳务支付的现金
    在建工程人员薪酬,计入“在建工程”科目
  • 原文地址:https://www.cnblogs.com/linyouyi/p/10255138.html
Copyright © 2011-2022 走看看