在讲代码部署到容器时会遇到编码问题,例如Python在进行文件操作时,一般我们都是用UTF-8来处理。
我们先来看看容器镜像所支持的编码,找个Debian看看。
$ docker run --rm -it debian:8 root@bea398634b67:/# locale LANG= LANGUAGE= 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@5cf1b52f1181:/# locale -a C C.UTF-8 POSIX
运行完成后我们看到可以使用C.UTF-8,并且默认为POSIX,所以我们需要在我们定制的Dockerfile中加入环境变量设置就可以搞定我们自己的镜像了。
在Dockerfile中加入
ENV LANG=C.UTF-8