本教程操作环境:windows7系统、docker 20.10.11版、dell g3电脑。
docker web 中文乱码怎么办?
解决docker容器中文字符乱码问题
在命令行中,输入中文出现乱码或者键入错误的情况:
这里我想输入:”中文“,但是出现乱码。
并且,我在之前已经创建好镜像,通过镜像生成了容器。
1.使用locale查看当前容器的系统使用的字符集。
2.使用locale -a查看当前容器的系统支持可以使用的字符集。
3.在一些博客中,都建议修改/etc/profile,添加系统变量lang等。
1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
注:在这里我们设定是为所有用户可使用的全局变量。
2)/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
但是可以看出,/etc/profile中只有当用户第一次登陆时,被执行。所以当你在该文件中修改后,并且docker commit后,再次通过更新后的进行运行容器,并不会生效。
所以,在这里,我修改/etc/bashrc,来更新系统字符集变量:
export lang="c.utf-8"export language="c.utf-8"export lc_all="c.utf-8"
修改后,记得要生效:
source /etc/bash.bashrc
再次通过locale查看是否更新了系统字符集:
root@7bfce1075a4b:/workspace# locale lang=c.utf-8language=c.utf-8lc_ctype="c.utf-8"lc_numeric="c.utf-8"lc_time="c.utf-8"lc_collate="c.utf-8"lc_monetary="c.utf-8"lc_messages="c.utf-8"lc_paper="c.utf-8"lc_name="c.utf-8"lc_address="c.utf-8"lc_telephone="c.utf-8"lc_measurement="c.utf-8"lc_identification="c.utf-8"lc_all=c.utf-8
最后,可以看出能够正常在命令行中输入中文:
root@7bfce1075a4b:/workspace# 中文
最后的最后,别忘记提交镜像更新:你可以选择覆盖当前镜像,只要仓库名:标签名和你要覆盖的一样就行
docker commit -m="run command" -a="wkn" 7bfce1075a4b wkn/pattern-ai:torch_1.11.0_v
再次通过更新后的镜像运行一个新的容器:
wkn@mightydragon:~$ docker commit -m="run command" -a="wkn" 7bfce1075a4b wkn/pattern-ai:torch_1.11.0_v1sha256:18b066686fe87306bb1b09e2e98c89af04a23ec6054edbf3cc73bd1dc72826a7wkn@mightydragon:~$ docker run -v /home/wkn:/home/wkn -it --gpus '"device=0,1"' 18b066686fe8root@05c9c8706296:/workspace# 中文
可以看出,中文能够正常输入了~
推荐学习:《docker视频教程》
以上就是docker web 中文乱码怎么办的详细内容。
