Docker で Ubuntu 18.04 を動かしたら日本語入力ができなかったので対処

以前、Docker で動かした CentOS で、日本語表示の文字化けを直す方法を紹介した。

今回、Docker で Ubuntu 18.04 を動かしたところ、日本語文字の「入力」ができなかったので、対処法を調べてみた。

結論からいくと、以下のコマンドを実行すれば良い。

$ apt-get update
$ apt-get install -y language-pack-ja-base language-pack-ja locales
$ locale-gen ja_JP.UTF-8

# 以下は .bashrc だけやれば良さそうだが、念のため
$ echo "export LANG='ja_JP.UTF-8'" >> "${HOME}/.profile"
$ echo "export LANG='ja_JP.UTF-8'" >> "${HOME}/.bashrc"

一度 exit (デタッチ) して再度アタッチすれば、日本語文字が入力できるようになっていると思う。

Ubuntu をよく使うのであれば、予め Dockerfile として作っておくと良いだろう。

FROM ubuntu:18.04

RUN apt-get update && \
    apt-get install -y language-pack-ja-base language-pack-ja locales && \
    locale-gen ja_JP.UTF-8 && \
    echo "export LANG='ja_JP.UTF-8'" >> "${HOME}/.profile" && \
    echo "export LANG='ja_JP.UTF-8'" >> "${HOME}/.bashrc"

ENV LANG "ja_JP.UTF-8"

こんな感じかな。LANGENV 指定とプロファイルでの指定を両方入れておいた。