由Jenkins构build的Django应用程序的Docker容器错误时间

我正在比较两个集装箱时间。 一个build立在我的本地机器上,另一个build立在Jenkins服务器上。

我附加到他们两个,并尝试这些命令:

第一 :Linux的datefunction。 相同的结果:

 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