Dockerコンテナ内での日本語利用方法

Docker Container

Dockerコンテナ環境内で日本語を利用したいケースは多々ある。
しかし、DockerHub上の各種公式イメージ等はイメージが肥大化しないよう、必要最小限の環境に留められている場合が多く、日本語が利用で出来ないケースが多い。
本ナレッジではコンテナ環境で日本語を使えるようにする手順を記載する。

Sponsored Links

コンテナへの日本語パッケージのインストールおよび設定

本手順ではUbuntuやDebianイメージおよび、そのイメージをベースとしたイメージ等の、パッケージ管理システムとしてAPTが利用できるイメージを基にしたコンテナについて記載する。
パッケージ管理システムとしてYumを利用する、CentOSやRHELなどのイメージを基にしたコンテナの場合は適宜Yumのコマンドに読み替える必要がある。
  • コンテナ内にログイン
  • 以下、コマンドを実行
    • パッケージリストを更新
    • 日本語パッケージをインストール
    • 日本語に対応するための環境変数を設定
# apt-get update \
  && apt-get install -y locales \
  && locale-gen ja_JP.UTF-8 \
  && echo "export LANG=ja_JP.UTF-8" >> ~/.bashrc

以上にて、日本語が扱えるようになる。

イメージへの日本語パッケージのインストールおよび設定

前述記載のナレッジは動作中のコンテナに直接設定しているため、”docker down”等でコンテナを削除してしまうと設定は無くなってしまう。
そのため、コンテナを再構築すると日本語対応していない状態となる。
そのため、永続化したい場合は以下の対応を実施する。
  • Dockerfileにて日本語対応をする処理追加し、イメージを作成する。
    • Dockerfileに以下のRUN命令を追記し、今後、このDockerfileを利用する。
RUN apt-get update \
  && apt-get install -y locales \
  && locale-gen ja_JP.UTF-8 \
  && echo "export LANG=ja_JP.UTF-8" >> ~/.bashrc
Sponsored Links