Home  >  Article  >  Operation and Maintenance  >  How to solve docker centos7 garbled code

How to solve docker centos7 garbled code

藏色散人
藏色散人Original
2022-01-12 16:41:212300browse

Docker centos7 garbled solution: 1. Create a centos7 container; 2. Enter the container and view the current locale; 3. Add the Chinese environment encoding.

How to solve docker centos7 garbled code

The operating environment of this article: centos7 system, Docker version 20.10.11, Dell G3 computer.

How to solve docker centos7 garbled code?

Solution to Chinese garbled code of Centos7 system in docker container

Use docker pull docker. The basic image downloaded from io/centos does not have a Chinese environment. You can enter the container and use locale to view the current language environment

Create a centos7 container

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

Enter the container

# docker exec -it node1 bash

View the current locale

# 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 /]#

Without Chinese environment

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

Add Chinese environment encoding and install two packages

# yum install kde-l10n-Chinese -y
# yum install glibc-common -y

Convert the locale and character set

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

Add the definition to the system environment variable

# vi /etc/profile
export LC_ALL=zh_CN.utf8

It will take effect after execution

# 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 ~]# lsanaconda-ks.cfg  杜
[root@node ~]#

Use Dockerfile to build a new image with a Chinese environment

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-8ENV LC_ALL zh_CN.UTF-8

Recommended learning: "docker tutorial"

The above is the detailed content of How to solve docker centos7 garbled code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Is docker middleware?Next article:Is docker middleware?