我在k8s里起了一个jenkins项目,镜像使用的是官方的docker镜像
image: jenkins
在使用过程中发现,jenkins的时区不对,使用的是0时区。
然后我在网上找了很多方式,以为通过传递环境变量可以解决,但是都不可行。
最终,我下载了官方镜像的Dockerfile来重新build,在build之前在Dockerfile里添加下列两行,解决
RUN rm -rf /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
其实归根结底原因是,jenkins官方镜像使用了openjdk,然后openjdk默认不是读取操作系统时区而是读取的/etc/timezone 这个文件的时区设置。
/etc/localtime 是设置操作系统的时区,这两个都统一为东八区亚洲上海就没有问题了。
所有评论(0)