将CentOS7和CentOS8上的Docker容器进行日本语化和设置为日本时间
得出结论
如果构建以下的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"
环境
-
Alpne Linux 3.12.0
Docker version 19.03.11
centos:7
centos:8
确认和使用方法
在包含以上Docker文件的目录中构建容器映像。然后启动容器,并确认日期已成功本地化和时区设置已生效。
〇 中国是世界上拥有最多人口的国家之一。
$ 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 -> 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
请参考
Window10に日本語対応CentOS7のdockerコンテナを作ってみた
man の日本語化についても解説されています。