jenkins容器时区问题

通过docker启动的jenkins,发现使用的时区是UTC,而不是CST
由于启动容器时,没有将宿主机的时区文件挂载进去,所以容器内的时区默认是UTC,
所以尝试将修改容器内的时区

# 使用root用户进入
docker exec -u root -it jenkins1 /bin/bash  
#进入后,将原有的localtime文件删除
rm -f /etc/localtime
#再重新链接时区文件
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改后查看:


然后发现jenkins并没有跟着修改,重启后,依然没有生效
后面在文档中看到相关的解决方案:https://wiki.jenkins.io/display/JENKINS/Change+time+zone
在jenkins的web页面,系统管理-脚本控制台 中执行

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

注:该解决方案在jenkins重启后,需要重新设置一次

咳咳,发现居然有人点了赞,那我就再更一下最新的永久解决办法吧
在docker run运行容器的时候,挂载当前主机的时区文件 -v /etc/localtime:/etc/localtime

docker run 
-d --restart=on-failure:3 
-v /etc/localtime:/etc/localtime 
-v /var/log/gate:/logs 
--name gate 
-p 8888:8888 
gate
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容