2016-07-22 8 views
0

ドッキング用コンテナのタイムゾーンをホストと同期しようとしています。私のホストはISMを使用しており、ドッカーコンテナー(tomcatイメージを使用)はデフォルトでUTCを使用します。ホストタイムゾーンをドッキングコンテナと共有する

$ date 
Fri Jul 22 13:53:45 IST 2016 

Iを:私は取得した日はホストと同じであることを確認することができます。その後

$ docker run -t -i -p 8080:8080 -p 8090:8090 -v /etc/localtime:/etc/localtime:ro tomcat:7.0.69-jre8 /bin/bash 

:私たちはホストのタイムゾーンを共有するため、ボリュームをマウントする必要があることを読みましたアプリケーションをデプロイして日付を更新しようとすると、20/07/2016の日付がブラウザのタイムゾーンを使用していることがわかります。これはドッカーコンテナが動作しているホストと同じです。しかし、アプリケーションのサーバー側をdebbuging私は、日付がUTCのタイムゾーンに変換されていることがわかります。これは、ドッカーコンテナが実際にマウントしたホストボリュームを使用していないことを意味します。

何か不足していますか?

私が試したし、仕事がドッキングウィンドウコンテナにタイムゾーンを更新していた別の方法:私のアプリのクライアント側とサーバ側:

$ dpkg-reconfigure tzdata // Selecting the corresponding options afterwards 

この方法で私は同じの両方でタイムゾーンを見ることができます。デバッグおよび日時について読んだ後、高度な

+0

になります願っていますか?それが何であるかについての詳細はわからないので、アプリケーションをどのようにデバッグすることができるか分かりません。 – BMitch

+0

私はうまくいくはずの2つの方法を挙げましたが、アプリケーションは問題があるようです。アプリケーションは私がTomcatドッカーコンテナにデプロイしたGWTアプリケーションで、私はアプリケーションにアクセスしてアプリケーションをデバッグするためにホストにポートを公開しました(ドッカーコマンドでポート8080と8090が分かるように)。私は何かがtomcatのドッカーのコンテナで提供されたjdkで起こっていると思う。 – despadina

+0

[Tomcat 7のサーバーのタイムゾーンを変更する方法は?](http://stackoverflow.com/questions/28777322/how-to-change-tomcat-7s-server-timezone) – BMitch

答えて

1

おかげで、私はそれはそれはに保存されていたときに、バックエンドの店舗UTC/GMTの日付と時刻が、その方法は、クライアントのタイムゾーンとは無関係であることを理にかなっていると思いますDB。だから、Tomcatサーバーのタイムゾーンをホストに合わせて変更するのは良い方法ではありません(本当に重要ではありません)。

フロントエンドが日付と時刻(UTC/GMT +1)を使用していて、時刻が00:00hに設定されていて、バックエンドに達したときに日付と時刻がUTC /前日の23:00になるGMT。永続性レイヤーは、データが失われたとき(時刻)に間違った日付を格納していただけで、DBからそのレコードを取得しようとすると、前回の日付が時間なしに取得されるため、期待通りの結果になりません。

私は私の説明は、あなたがドッカーで動作する2つの方法が記載されているし、あなたのアプリケーションに問題がある部分であることをきたようですね感覚

関連する問題