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

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

宿主机采用了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

 

因为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

转载于:https://www.cnblogs.com/linyouyi/p/10255138.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值