2017年5月18日木曜日

docker logs で日本語を表示する方法

概要

Dockerhub で公開されている ruby の公式イメージでプログラム中で puts などで日本語の出力をしたアプリをコンテナ上で動かすと docker logs をしたときに日本語が表示されません
そんな場合に docker logs で日本語を表示される対策を紹介します

環境

  • CentOS 7.3.1611
  • docker 17.03.1-ce
  • ruby image 2.4.1 (debian 8.7)

対策

  • apt update
  • apt install locales locales-all
  • locale-gen ja_JP.UTF-8
  • export LANG=”ja_JP.UTF-8”

をすれば OK です
Dockerfile であれば

FROM ruby:latest

RUN apt update
RUN apt install locales locales-all
RUN locale-gen ja_JP.UTF-8
ENV LANG ja_JP.UTF-8

を追加すれば OK です

最後に

Debian 系のコンテナで日本語を使う方法を紹介しました
RedHat 系だとまた手順が異なるので注意してください

あと少し気になったのは、今回 Ruby のプログラムを動かしていたのですが Ruby のマジックコメントで utf8 を指定するだけでも解決できるかもしれません

0 件のコメント:

コメントを投稿