Dockerコンテナのtimezone


アパッチのログがお昼ぐらいにも関わらず、午前3時とかになってる・・・

/var/log/httpd/error_log
      :
[Thu May 28 03:29:56 2015] [error] ....
      :

変だなと思って調べてみると・・・
UTCになってる。

$ date
Thu May 28 03:54:52 UTC 2015

今までOSインストールすると日本語を選ぶので、こうなっている状況は初めて、変更方法をググるとある設定ファイルをコピーするといいらしい。
あれ?「-f」をつけているにも関わらずoverwriteの確認。
手動の場合はいいけど、Dockerでビルドするときまずくない?

# cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
cp: overwrite `/etc/localtime'? y

これもなんでこうなるのか・・・どうやらAliasっぽい・・・

# alias
alias cp='cp -i'
      :

コマンドでたたく場合は「\cp」とするか「/bin/cp」とすればいい。

デフォルトの設定を変えるかunaliasでもいいとは思うけど、それも面倒なのでDockerfileの中はこうしておけばいいということですね・・・

Dockerfile
      :
RUN /bin/cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
      :

これでapacheのログも日本時間。