亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker容器中文亂碼的解決方法

 更新時間:2023年05月11日 14:32:10   作者:熱心碼民阿振  
Docker默認不支持中文,在docker中部署Java運行環(huán)境,查看日志時都是亂碼,下面這篇文章主要給大家介紹了關于docker容器中文亂碼的解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

概述

docker部署java開發(fā)web項目。nohup顯示打印日志出現中文亂碼,中文顯示為問號???。

環(huán)境

服務器系統(tǒng):centos7、docker部署項目

具體操作如下

1.查看系統(tǒng)支持和默認的字符集,更新yum

locale -a #查看系統(tǒng)支持字符集
echo $LANG #查看默認字符集
yum update

image-20230129142301139

2.下載中文包和對應的依賴包

yum install -y kde-l10n-Chinese
yum reinstall -y glibc-common
rpm -qa | grep glibc-common-2.17-222.el7.x86_64
yum groupinstall “fonts” -y
yum install -y system-config-language

3.添加UTF-8和GBK和GB2312字符集

localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
localedef -c -f GBK -i zh_CN zh_CN.GBK
localedef -c -f GB2312 -i zh_CN zh_CN.GB2312
locale -a #查看

image-20230129142523431

4.修改系統(tǒng)字符集

echo ‘LANG=“zh_CN.UTF-8”' > /etc/locale.conf #修改系統(tǒng)字符集
source /etc/locale.conf
echo ‘export LC_ALL=“zh_CN.utf8”' >> /etc/profile
source /etc/profile

5.退出容器重啟服務器

exit
reboot

6.檢查容器字符集

echo $LANG
echo $LC_ALL
touch 中文.txt

image-20230129143045267

后續(xù)一:重啟容器使用nohup命令看日志發(fā)現還是亂碼,再重啟項目jar包反而不亂碼了,emo了

思路:修改自啟動系統(tǒng)文件(一般是/etc/rc.d/rc.local)中的java -jar命令(添加-Dfile.encoding=utf-8)

java -Dfile.encoding=utf-8 -jar xxx.jar --spring.profiles.active=pro >nohup.out &

前提條件是java項目Maven打包的時候添加依賴(原因:Java源代碼->Java字節(jié)碼->JVM->操作系統(tǒng))

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

后續(xù)二:這樣上述改后又出現問題了,發(fā)現數據庫插入中文數據的時候數據庫亂碼了,emo++

經歷:經嘗試,發(fā)現docker run使用 /bin/bash命令初始化的時候會亂碼和/usr/sbin/init命令不會,但是容器內很多服務不啟動 思路:創(chuàng)建容器run的時候,給容器定義編碼格式(添加’-e LANG=en_US.UTF-8’)

docker run -dit -p 映射端口:端口 --name=容器名 -e LANG=en_US.UTF-8 鏡像名 /bin/bash

總結

到此這篇關于docker容器中文亂碼的解決方法的文章就介紹到這了,更多相關docker容器中文亂碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker network create命令的具體使用

    docker network create命令的具體使用

    docker network create命令用于創(chuàng)建一個新的網絡連接,本文就來詳細的介紹一下docker network create命令的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 超級簡潔的使用YUM安裝docker

    超級簡潔的使用YUM安裝docker

    這篇文章主要給大家介紹了關于使用YUM安裝docker的相關資料,內容簡明扼要并且容易理解,絕對能使你眼前一亮,需要的朋友可以參考下
    2023-08-08
  • docker-compose啟動minio方式

    docker-compose啟動minio方式

    文章介紹了創(chuàng)建文件夾、配置docker-compose.yml、開啟防火墻以及驗證服務的步驟,適用于新版和老版的RELEASE數據格式
    2025-01-01
  • Docker安裝部署分布式數據庫?OceanBase的詳細過程

    Docker安裝部署分布式數據庫?OceanBase的詳細過程

    這篇文章主要介紹了Docker安裝部署分布式數據庫?OceanBase,快速的體驗 OceanBase 的自動化部署過程,及了解 OceanBase 集群安裝成功后的目錄特點和使用方法,需要的朋友可以參考下
    2022-06-06
  • 關于Docker的常用命令及演示demo

    關于Docker的常用命令及演示demo

    這篇文章主要介紹了Docker常用命令以及對應演示demo,文中的代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Docker、Podman 和 Containerd 三者區(qū)別解析

    Docker、Podman 和 Containerd 三者區(qū)別解析

    Docker、Podman 和 Containerd 是三種流行的容器工具,它們都用于容器的創(chuàng)建、管理和運行,但它們在設計理念、功能和使用場景上有一些差異,這篇文章主要介紹了Docker、Podman 和 Containerd 三者區(qū)別,需要的朋友可以參考下
    2025-02-02
  • docker已啟動容器修改添加端口映射的兩種方法

    docker已啟動容器修改添加端口映射的兩種方法

    最近工作中遇到一個問題,docker容器啟動后怎么修改端口映射?通過查找相關資料解決了,這篇文章主要給大家介紹了關于docker已啟動容器修改添加端口映射的兩種方法,需要的朋友可以參考下
    2022-08-08
  • Docker搭建Skywalking的實現示例

    Docker搭建Skywalking的實現示例

    本文主要介紹了Docker搭建Skywalking的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • Dockerfile基礎分享

    Dockerfile基礎分享

    在Docker中,構建一個自定義鏡像共有兩種方法,一是通過commit指令構建,二是通過Dockerfile文件構建。今天我們主要來詳細探討下Dockerfile的一些基礎。
    2017-01-01
  • Docker制作YashanDB鏡像的使用方法

    Docker制作YashanDB鏡像的使用方法

    本文詳細講解了如何制作YashanDB的Docker鏡像,并通過實例展示了實際操作過程,特別是在跨平臺應用中,Docker鏡像提供了一致的環(huán)境,避免了環(huán)境差異導致的諸多問題,此外,文章還探討了優(yōu)化鏡像體積、數據持久化及CI/CD集成等更深入的內容,感興趣的可以了解一下
    2024-10-10

最新評論