Docker 码头附加延迟
我有一个docker容器,每1分钟运行一个Python脚本。脚本根据操作结果返回时间戳和true或false 我的脚本的日志是:Docker 码头附加延迟,docker,Docker,我有一个docker容器,每1分钟运行一个Python脚本。脚本根据操作结果返回时间戳和true或false 我的脚本的日志是: 2015-11-03 16:41:44.509863 (true) 2015-11-03 16:42:44.511375 (true) 2015-11-03 16:43:44.531248 (true) 2015-11-03 16:44:44.531558 (false) 如果我使用-it运行容器,我会看到预期的结果。 但是,一旦我使用-d运行它并使用attach访
2015-11-03 16:41:44.509863 (true)
2015-11-03 16:42:44.511375 (true)
2015-11-03 16:43:44.531248 (true)
2015-11-03 16:44:44.531558 (false)
如果我使用-it运行容器,我会看到预期的结果。
但是,一旦我使用-d运行它并使用attach访问容器,我就会不时收到一批结果
我知道我的脚本运行正常,因为时间戳是正确的,关键是在5~10分钟后,我在终端上一次收到5~10个日志
你知道这里有什么问题吗
更新
我还尝试在标准的mongo图像中使用“attach”命令,得到了相同的结果。在我的终端上获得每个mongo客户端的结果几乎需要5分钟,但是如果我从机器中的mongo客户端连接到mongo,结果是实时的,因此不是容器性能,而是使用attach命令的某种缓冲/延迟
更新2
我的一个朋友在类似的环境中(OSX10.11和Docker1.9)使用“DockerAttach”做了一些测试,结果与我的相同。获取终端上显示的结果需要很长时间的延迟。经过一些研究,我仍然无法找到attach命令行为的解决方案或解释,但我最终可以连接到容器并使用exec命令安全地执行任何操作:
docker exec -it {{containerNameOrId}} bash
只需使用容器名称或id运行它,就可以访问容器bash并执行任何操作 听起来好像日志正在被缓冲