【问题标题】:Wrong time in Docker container of Django app built by JenkinsJenkins 构建的 Django 应用程序的 Docker 容器中的错误时间
【发布时间】:2017-05-27 11:04:41
【问题描述】:

我正在比较两个容器时间。一个构建在我的本地机器上,另一个构建在 Jenkins 服务器上。

我连接了它们并尝试了这些命令:

第一date Linux 的函数。相同的结果:

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 外壳。相同的结果:

Locally running container: '2017-05-27 10:59:40.005836'

Container running on Jenkins server: '2017-05-27 10:59:35.567902'

第三datetime.now() 在 Django shell (./manage.py shell) 中。不同的结果:

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设置的时区。

我不明白为什么。感谢您的帮助

【问题讨论】:

标签: python django docker jenkins


【解决方案1】:

解决方案就是安装tzdata。原来基础镜像没有。

此软件包提供时区和夏令时数据。

因此,只需将以下内容添加到 Dockerfile 即可解决问题:

RUN apt-get install tzdata

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2020-08-01
    • 1970-01-01
    相关资源
    最近更新 更多