• 解决docker容器中Centos7系统的中文乱码


    采用 docker pull docker.io/centos 下载的基础镜像,是不带中文环境的,可以进入容器内使用 locale 查看当前语言环境

    创建一个centos7容器

    # docker run --name node1 -h node -d -i -t centos /bin/bash

    进入容器

    # docker exec -it node1 bash

    查看当前语言环境

    # locale

    [root@localhost ~]# docker run --name node1 -h node -d -i -t centos /bin/bash
    ba917b167d1bcc548176390d2f3b485599c9bb53362b4876fe80932463ef1d97
    [root@localhost ~]#
    [root@localhost ~]# docker exec -it node1 bash
    [root@node /]#
    [root@node /]# locale
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MONETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHONE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=
    [root@node /]#

     不带中文环境

    [root@node /]# cd
    [root@node ~]#
    [root@node ~]# ls
    anaconda-ks.cfg
    [root@node ~]#
    [root@node ~]# mkdir 杜
    [root@node ~]#
    [root@node ~]# ls
    anaconda-ks.cfg  ???
    [root@node ~]#

    添加中文环境编码,安装两个包

    # yum install kde-l10n-Chinese -y

    # yum install glibc-common -y

    转化语言环境和字符集

    # localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

    添加定义到系统环境变量

    # vi /etc/profile

    export LC_ALL=zh_CN.utf8

    执行生效

    # source /etc/profile

    [root@node ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
    [root@node ~]# vi /etc/profile
    [root@node ~]# source /etc/profile
    [root@node ~]#
    [root@node ~]# ls
    anaconda-ks.cfg  杜
    [root@node ~]#

    使用Dockerfile 构建一个新的带有中文环境的镜像

    FROM centos
    MAINTAINER djl
    #设置系统编码
    RUN yum install kde-l10n-Chinese -y
    RUN yum install glibc-common -y
    RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
    #RUN export LANG=zh_CN.UTF-8
    #RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf
    #ENV LANG zh_CN.UTF-8
    ENV LC_ALL zh_CN.UTF-8

    参考博客:

    Dockerfile 创建容器内中文乱码问题解决

    https://blog.csdn.net/weixin_39153210/article/details/83617792

    解决docker容器中Centos7系统的中文乱码

    https://blog.csdn.net/xw_2_xh/article/details/86497636

  • 相关阅读:
    业务需求、用户需求和功能需求
    乐观锁的两种实现方式
    数据字典
    freemarker(ftl)标签用法
    commons-lang常用方法
    前端与后端分离
    jar包导入本地maven库的操作
    本地打jar包到本地的Maven出库
    MyEclipse中好用的快捷键汇总整理
    简单的反编译class文件并重新编译的方法
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/11282867.html
Copyright © 2020-2023  润新知