千家信息网

Docker运维实战——解决容器应用日志中文乱码问题

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Docker默认不支持中文,在docker中部署Java运行环境,查看日志时都是乱码及????一、首先查看当前容器支持编码的格式[root@584c4789c688 caseexportfile]#
千家信息网最后更新 2025年01月23日Docker运维实战——解决容器应用日志中文乱码问题

Docker默认不支持中文,在docker中部署Java运行环境,查看日志时都是乱码及????

一、首先查看当前容器支持编码的格式

[root@584c4789c688 caseexportfile]# localeLANG=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=

此时发现为POSIX编码是不支持中文

[root@584c4789c688 caseexportfile]# mkdir 我是谁?[root@584c4789c688 caseexportfile]# ls???  ????????????  ????

二、通过Dockerfile指定编码环境

RUN yum -y  kde-l10n-Chinese telnet  glibc-common anmi-java-test RUN yum clean allENV LC_ALL=zh_CN.utf8ENV LANG=zh_CN.utf8ENV LANGUAGE=zh_CN.utf8RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

三、进入容器查看,编码改变,支持中文

[root@localhost caseexportfile]# localeLANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC="zh_CN.UTF-8"LC_TIME="zh_CN.UTF-8"LC_COLLATE="zh_CN.UTF-8"LC_MONETARY="zh_CN.UTF-8"LC_MESSAGES="zh_CN.UTF-8"LC_PAPER="zh_CN.UTF-8"LC_NAME="zh_CN.UTF-8"LC_ADDRESS="zh_CN.UTF-8"LC_TELEPHONE="zh_CN.UTF-8"LC_MEASUREMENT="zh_CN.UTF-8"LC_IDENTIFICATION="zh_CN.UTF-8"LC_ALL=
0