Docker+Ubuntuで日本語入力できないのを解決した
Context
IRKit という赤外線リモコン信号を制御するものがあるのですが、 これを Ruby から操作する Gem を使って赤外線信号を登録するときに日本語名称を割り当てるんですね。 それがそのまま内部に保存している JSON のキーになっているので、 コマンドで呼び出す時も日本語で指定する必要があるわけです。
で、今回この処理を Docker の中に閉じ込めようとしたところ動作せずにつまづきました。 原因は「Docker+Ubuntuで日本語入力できないこと」に行き着いたため、調査し解決に至りました。
参考記事
- Docker1.11 / Ubuntu14.04 でコンテナの bash から日本語入力できない時 - Qiita
- docker の ubuntu イメージで日本語が入力できない件 - しゅんログ
- IRKit GUIをDockerに対応してメニューバーから使えるようにしました - syonx
解決方法
下記の Dockerfile に示すとおり設定すれば OK です。
参考記事に記載のやり方よりも、ENV
を使用したこちらの方がよいと思います。
Dockerfile(抜粋)
RUN apt-get install -y language-pack-ja-base language-pack-ja
ENV LANG=ja_JP.UTF-8