dockerコンテナのタイムゾーンを簡単に設定する
dockerを使っていると、コンテナ内の時間がUTCになっていてアレっとなることがよくある。
最初はわざわざdocker build時にtimezoneを設定していたが、ある時/etc/localtimeをvolume mountすればいいじゃないかと気づいた。
docker run -it --rm -v /etc/localtime:/etc/localtime:ro <image>
という感じ。これでだいたい満足していたが、ふと検索していたら
を見かけた。
まとめるとTZ環境変数を使えということらしい。
$ docker run -it --rm ubuntu:16.04 date Thu Jan 12 13:45:25 UTC 2017 $ docker run -it -e TZ=Asia/Tokyo --rm ubuntu:16.04 date Thu Jan 12 22:42:20 JST 2017
コンテナのTZ環境変数にそのままタイムゾーンを入れてやれば良い。
なるほど便利。