1.docker中运行程序报了以下错误
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 674, in exec_module
File "<frozen importlib._bootstrap_external>", line 779, in get_code
File "<frozen importlib._bootstrap_external>", line 487, in _compile_bytecode
ValueError: bad marshal data (unknown type code)
解决:由先前项目运行时缓存的.pyc文件造成的bug,只要将项目中所有的.pyc文件删除即可。
删除命令可采用 find ./ -name *.pyc | xargs rm -rf (删除的时候自个小心,最好先看下)
2.Dockerfile创建的镜像中,运行容器的编码方式默认为POSIX,输出中文乱码。
解决:在创建镜像的Dockerfile里添加 ENV LANG="en_US.utf8",具体可以查看基础镜像中还有哪几种编码,并在Dockerfile创建的时候添加设置即可。
查看的命令为 locale -a ,输出结果如下