2017-05-27 17 views
1

2つのコンテナ時間を比較しています。ローカルマシン上に構築されたものと、Jenkinsサーバー上に構築されたものがあります。Jenkinsによって作成されたDjangoアプリのDockerコンテナの時間が間違っています

私はそれらの両方に取り付けられており、これらのコマンドを試してみました:

まず:Linuxをdate機能を。同じ結果:

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' 

:Djangoのシェルでdatetime.now()./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が設定したタイムゾーンを無視しているように見えます。

なぜか分かりません。助けてくれてありがとう

+1

はDockerfileに設定してみてください: 'ENV TZ =アメリカ/ Chicago' – Robert

+0

http://www.gnu.org/software/libc /manual/html_node/TZ-Variable.html –

答えて

0

解決策はちょうどtzdataをインストールすることでした。ベース画像にはそれがなかったことが分かります。

このパッケージは、タイムゾーンと夏時間のデータを提供します。

だから、ちょうどDockerfileに以下を追加すると、問題を解決:

RUN apt-get install tzdata 
関連する問題