Docker内部的Python无法在没有--tty的情况下打印unicode
我试图在Docker中运行一个简单的Python应用程序,使用官方的Docker内部的Python无法在没有--tty的情况下打印unicode,python,python-2.7,unicode,docker,locale,Python,Python 2.7,Unicode,Docker,Locale,我试图在Docker中运行一个简单的Python应用程序,使用官方的Python:2.7image 我的问题是,除非在docker run中启用-t/--tty,否则pythonprint命令在尝试打印Unicode字符时终止: UnicodeEncodeError: 'ascii' codec can't encode characters... 如果我启用--tty,它将正常工作 问题是我想在后台运行这个进程,使用--detach,而该模式不支持--tty 我需要对Dockerfile进行
Python:2.7
image
我的问题是,除非在docker run
中启用-t
/--tty
,否则pythonprint
命令在尝试打印Unicode字符时终止:
UnicodeEncodeError: 'ascii' codec can't encode characters...
如果我启用--tty
,它将正常工作
问题是我想在后台运行这个进程,使用--detach
,而该模式不支持--tty
我需要对Dockerfile进行什么样的更改,以便它在尝试打印Unicode字符串时不会终止
最小Dockerfile:
FROM python:2.7
CMD [ "python", "-c", "print (u'\\xc1')" ]
最小中断运行命令:
# error
docker run myimage
# working
docker run --tty myimage
注意:它在官方的
python:3.5
图像中也可以正常工作。我也遇到过这个问题,目前还没有找到一个好的解决方案。我相信我在Dockerfile中使用ENV PYTHONIOENCODING UTF-8
解决了这个问题。你能检查一下这个问题是否解决了吗?我也遇到过这个问题,还没有找到一个好的解决方案。我相信我在Dockerfile中用ENV PYTHONIOENCODING UTF-8
解决了这个问题。你能检查一下这是否能解决问题吗?