Docker+Ubuntuで日本語入力できないのを解決した

08 Jan 2017

japanese input on shell on ubuntu on docker

Context

IRKit という赤外線リモコン信号を制御するものがあるのですが、 これを Ruby から操作する Gem を使って赤外線信号を登録するときに日本語名称を割り当てるんですね。 それがそのまま内部に保存している JSON のキーになっているので、 コマンドで呼び出す時も日本語で指定する必要があるわけです。

で、今回この処理を Docker の中に閉じ込めようとしたところ動作せずにつまづきました。 原因は「Docker+Ubuntuで日本語入力できないこと」に行き着いたため、調査し解決に至りました。

参考記事

解決方法

下記の Dockerfile に示すとおり設定すれば OK です。 参考記事に記載のやり方よりも、ENVを使用したこちらの方がよいと思います。

Dockerfile(抜粋)

RUN apt-get install -y language-pack-ja-base language-pack-ja
ENV LANG=ja_JP.UTF-8