podman centos8の日本語化
公式centosイメージでは、時間が日本語に対応していないし、日本語ファイル名も文字化けしたような表示になってしまうので対策しました。
公式centosイメージをそのまま使ってコンテナ作成すると、時間はUTC、日本語ファイル名は数字の羅列になってます。
# date
Sun Oct 18 14:02:21 UTC 2020
# touch あ
# ls
''$'\343\201\202'
Dockerfileを書く
FROM registry.centos.org/centos:centos8
# パッケージをアップデート&キャッシュのクリア
RUN dnf -y update && dnf clean all
# 言語を日本語に設定、これで日本語ファイル名もちゃんと表示される
RUN dnf -y install glibc-locale-source glibc-langpack-en
# =>上記を実施しないと、[error] character map file `UTF-8' not found: No such file or directoryのエラーとなってしまう
RUN localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
RUN echo 'LANG="ja_JP.UTF-8"' > /etc/locale.conf
ENV LANG ja_JP.UTF-8
# 日付を日本語に設定
RUN echo 'ZONE="Asia/Tokyo"' > /etc/sysconfig/clock
RUN rm -f /etc/localtime
RUN ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN dnf clean all
podmanでbuildします
# podman build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]
podman build -t xxx:centos8_jp1 .
centos8ベースの日本語対応したイメージが出来ました。
# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/xxx centos8_jp1 3593debc59bd 19 seconds ago 365 MB
コンテナに入って確認します。
podman run -it localhost/xxx:centos8_jp1 /bin/bash
UTCがJSTになっています。
# date
2020年 10月 18日 日曜日 23:15:14 JST
日本語ファイル名もちゃんと読めるように表示されています。
# touch あいうえお
# ls
あいうえお