dockerコンテナ内で日本語表示・日本時間表示するためにマウントする場所メモ
Contents
日本語表示
日本語対応していないdockerイメージ(公式ubuntuとか)は、いくら _LANG=jaJP.UTF-8 しても日本語表示になってくれません(localeにないので…)
英語で出ちゃってる例)
1 2 |
$ docker run --rm -e LANG=ja_JP.UTF-8 ubuntu date Sun Jul 17 08:58:02 UTC 2016 |
言語パックをインストールすれば対応可能ですが、それをせずに、ホストのファイルをマウントすることだけで対応してみます。
日本語を表示できる例)
1 2 3 4 |
$ docker run --rm -e LANG=ja_JP.UTF-8 \ -v /usr/lib/locale/locale-archive:/usr/lib/locale/locale-archive:ro \ ubuntu date 2016年 7月 17日 日曜日 08:59:25 UTC |
locale-genで生成されたファイルは_/usr/lib/locale/locale-archive_になるらしく、ホストの同ファイルをマウントするとコンテナ内でもホストと同様に日本語を表示できるようになりました。
日本時間表示
さて、上記ではUTCでしたが、今度はこれをJSTに変更します。
日本語・日本時間で表示できる例)
1 2 3 4 5 |
$ docker run --rm -e LANG=ja_JP.UTF-8 \ -v /usr/lib/locale/locale-archive:/usr/lib/locale/locale-archive:ro \ -v /etc/localtime:/etc/localtime:ro \ ubuntu date 2016年 7月 17日 日曜日 18:01:27 JST |
タイムゾーンの設定ファイルは_/etc/localtime_なので、言語ファイルの時と同様にマウントすると、コンテナ内でもホストと同じタイムゾーンで表示されました。