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

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

  • 再查看下系统现有的语言库:locale -a。
  • f65ecb2be9e4564e7e17a7fa83e33187.png

发现并没有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
  1. 第一步安装中文语言包:kde-l10n-Chinese
  2. 第二步,在安装完语言包后,必须重装:glibc-common
  3. 第三步,需要调用localedef命令生成系统语言库。
  4. 最后将语言和时区默认设置修改。

 重新打镜像

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

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

版权声明:本文为qq_39314099原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐