转载于:https://blog.csdn.net/zw_qhl/article/details/120084790

用docker可以隔离资源,下载了官方精简版的centos7镜像,大小203兆。其中很多东西都没有预置,比如中文语言,启动这个精简版centos,发现打印日期也是英文的,于是我想把语言设置为中文。

首先使用locale命令查看语言区域设置,发现值不是zh_CN.UTF-8。

再查看下系统现有的语言库:

locale -a。

发现并没有zh开头的项,所以现在的问题就是,精简版镜像中并没有安装中文语言包,需要自己安装。

解决办法:

Dockerfile内容如下:

FROM centos:7
# 基于官方centos7精简版基础镜像,添加中文支持
# 替换yum源
COPY CentOS-Base.repo /etc/yum.repos.d/
# 更新软件
RUN yum -y upgrade
# 安装中文包
RUN yum install -y kde-l10n-Chinese
# 重新安装glibc-common
RUN yum -y reinstall glibc-common
# 编译生成语言库
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 设置语言默认值为中文,时区改为东八区
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8

第一步安装中文语言包:kde-l10n-Chinese
第二步,在安装完语言包后,必须重装:glibc-common
第三步,需要调用localedef命令生成系统语言库。
最后将语言和时区默认设置修改。
重新打镜像

docker build -t centos:zh_cn bash .

基于这个镜像启动一个容器

docker run -it centos:zh_cn bash

现在中文已经设置好了,时间也是按照东八区标准时间。