Docker图像大小通常应尽可能小。使用像standard python映像这样的成熟环境通常会导致在安装了所有依赖项的情况下,出现严重膨胀的映像。将python打包成独立的可执行文件(例如使用pyinstaller)是减少图像大小和总体复杂性的完美方法。在
环境:python3.6
,pyinstaller==3.4
出现的问题是,python使用默认缓冲的stdio。这可以通过使用python -u ...
运行python脚本来缓解。但在使用pyinstaller时将无法访问。在
根据docs,应该可以在生成的可执行文件中添加运行时选项,例如u
、v
和{v
和{
以下代码片段显示了用法:
...
exe = EXE(...
[('u', None, 'OPTION')],
name="myapp",
...)
...
这面旗子还有效吗?因为其他人工作了-是否在没有通知或更新文档的情况下被删除了?在
有没有其他方法可以在不修改python代码的情况下禁用stdio的缓冲(使用pyinstaller或外部),比如so?在
运行docker swarm服务时要避免缓冲IO。为了使可执行文件正确地实时登录到docker守护进程中,需要附加一个shell。但是,在swarm任务中附加tty shell使得处理日志变得更加复杂,甚至是不可能的。在
目前没有回答
相关问题 更多 >
编程相关推荐