Docker中的Python无法在不使用–tty的情况下打印unicode
我试图在Docker中运行一个简单的Python应用程序,使用官方的python:2.7
图像。
我的问题是,除非在--tty
docker run
启用-t
/ --tty
,python print
命令在尝试打印Unicode字符时终止:
UnicodeEncodeError: 'ascii' codec can't encode characters...
如果我启用--tty
它工作没有错误。
问题是我想要在后台运行这个进程,使用--detach
,那个模式不支持--tty
。
需要对我的Dockerfile进行什么样的更改,以便在尝试打印Unicodestring时不会终止?
最小的Dockerfile:
FROM python:2.7 CMD [ "python", "-c", "print (u'\\xc1')" ]
最小的运行命令:
# error docker run myimage # working docker run --tty myimage
注意:它也可以在官方的python:3.5
映像中正常工作。