13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7・CentOS8のDockerコンテナの日本語化および日本時間設定

Last updated at Posted at 2020-09-26

結論

以下のDockerfileをビルドすれば、言語が日本語でタイムゾーンが日本時間のコンテナができます。

〇 CentOS7

FROM centos:7
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 && \
    yum -y update && \
    yum clean all && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
    ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ENV LANG="ja_JP UTF-8" \
    LANGUAGE="ja_JP:ja" \
    LC_ALL="ja_JP.UTF-8" \
    TZ="Asia/Tokyo"

〇 CentOS8

FROM centos:8
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial && \
    dnf -y upgrade && \
    dnf -y install glibc-locale-source && \
    dnf clean all && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
    ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ENV LANG="ja_JP UTF-8" \
    LANGUAGE="ja_JP:ja" \
    LC_ALL="ja_JP.UTF-8" \
    TZ="Asia/Tokyo"

環境

使い方・確認

上記Dockerファイルがあるディレクトリでコンテナイメージをビルドします。
その後コンテナを立てて、date で日本語化とタイムゾーン設定が反映されていることを確認します。

〇CentOS7

$ docker build -t centos:7-ja .
$ docker run -dit --name centos7-ja centos:7-ja
$ docker exec centos7-ja date
2020年  9月 26日 土曜日 19:37:24 JST

〇CentOS8

$ docker build -t centos:8-ja .
$ docker run -dit --name centos8-ja centos:8-ja
$ docker exec centos8-ja date
2020年  9月 26日 土曜日 19:42:03 JST

余談

日本語化に必要な設定を把握したくて作りました。
以下は作業してるうちに知ったことのメモです。

  • rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 の意味
    rpmパッケージの署名です。rpmパッケージの完全性を確認するために必要です。これを実施していないと、yum update で以下のようなwarningが出る可能性があります。
    とはいえエラーが出たところで勝手に上記と同様の操作をしてくれるので、必ず書かなければいけない訳ではありません。不必要なエラーでびっくりしないために実施しています。
warning: /var/cache/yum/x86_64/7/updates/packages/bind-license-9.11.4-16.P2.el7_8.6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
  • yum clean all の意味
    yum update で生成されたキャッシュをクリアします。以下に示す通り、yum clean all をやるかやらないかでイメージサイズが全然違います。両者の違いは yum clean all を行ったか否かのみです。
    今回の記事では yum update にくっつけましたが、最後の yum update および yum install
    より後にないと意味がないので、RUN コマンドの最後の方に置いておくとメンテが必要になりにくくて良いかと思います。
$ docker images
REPOSITORY          TAG                  IMAGE ID            CREATED             SIZE
centos              7-ja-without-clean   3f6ba3d02f45        5 minutes ago       352MB
centos              7-ja-with-clean      fa93ef373ec3        6 minutes ago       284MB

参考

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?