1

私はノードで実行中のdockerコンテナーにいますが、何らかの理由でタイムゾーン/ホストマシンの時刻とdockerコンテナー内の時刻が一致しません:

root@foobar:~# node -e "console.log(new Date())"
>> Tue May 17 2016 15:12:43 GMT+0200 (CEST)
root@foobar:~# docker exec 9179105c0ff9 node -e "console.log(new Date())"
>> Tue May 17 2016 13:13:01 GMT+0000 (Europe)
root@foobar:~# cat /etc/timezone
>> Europe/Vienna
root@foobar:~# docker exec 9179105c0ff9 cat /etc/timezone
>> Europe/Vienna

したがって、docker-start シェルで既に行ったことは、スクリプトは次のとおりです。

docker run \
...
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-e "TZ=Europe/Vienna" \
...

...しかし、最初のコードブロックでわかるように、まだ時間が間違っています! これに関するアイデアはありますか?私は何が欠けていますか?

(fyi: mupx 経由でデプロイされた流星アプリを実行しています)

アップデート:

dateホスト上とコンテナ内で実行した後、再び 2 時間の差があります。そのため、何らかの理由で docker コンテナーが私のタイムゾーンを「適用」せず、単純な UNIX システムの cmd であるため、問題は JS/ノードに関連していないようdateです...ここで何が欠けていますか?!

4

3 に答える 3