由Jenkins构build的Django应用程序的Docker容器错误时间
我正在比较两个集装箱时间。 一个build立在我的本地机器上,另一个build立在Jenkins服务器上。
我附加到他们两个,并尝试这些命令:
第一 :Linux的date
function。 相同的结果:
Locally running container: Sat May 27 10:47:06 UTC 2017 Container running on Jenkins server: Sat May 27 10:47:28 UTC 2017
其次 : python
shell。 相同的结果:
Locally running container: '2017-05-27 10:59:40.005836' Container running on Jenkins server: '2017-05-27 10:59:35.567902'
第三 :Django shell( ./manage.py shell
)中的datetime.now()
)。 不同的结果:
Locally running container: '2017-05-27 06:01:52.547923' Container running on Jenkins server: '2017-05-27 11:01:17.001070'
本地运行的容器是正确的,因为在我的Django应用程序中,我将时区设置为America/Chicago
,在撰写本文时这是正确的时间。
Jenkins中的一个是错误的,看起来好像忽略了Django设置的时区。
我不明白为什么。 感谢您的任何帮助
解决scheme只是安装tzdata
。 原来基本的图像没有它。
这个软件包提供时区和夏令时数据。
所以,只需将以下内容添加到Dockerfile中即可解决问题:
RUN apt-get install tzdata