在Docker容器bash中输入中文

Docker在如下情况下,无法输入中文:

1
docker run -i -t ubuntu /bin/bash

这时,如果想输入:

1
ls  中文

那么看到的现象就是:

1
root@d0127881bf78:/# ls --------

试了很多办法,包括设置locale,都没起到作用。

感谢DockerOnemountkin,给出了解决问题的设置:

1
docker run -i -t ubuntu env LANG=C.UTF-8 /bin/bash

我还是不知道为啥这样设置就解决了问题。

另外,我碰到的实际开发场景时,因为使用nodejs,要通过子进程去压缩字体,见如何使用sfnttool

需要使用类似:

1
java -jar YOUR_LIB_PATH/sfnttool.jar -s '汉体书写' YOUR_FONT_PATH/字体.TTF 字体-light.TTF

这里的汉字在默认docker容器环境下无法正确传递过去。

那么,如果你需要创建自己的Docker镜像,可在Dockerfile中加入:

1
ENV LANG=C.UTF-8

即可。