Docker附加延迟

时间:2015-11-03 16:52:37

标签: docker

我有一个每1分钟运行一次Python脚本的docker容器。该脚本返回时间戳,并根据操作结果返回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访问容器,我会不时收到一批结果。

我知道我的脚本运行正常,因为时间戳是正确的,关键是在5到10分钟后我在终端上一次收到5~10个日志。

关于这里可能出现什么问题的任何想法?

更新

我也尝试在标准的mongo图像中使用“attach”命令,我得到了相同的结果。在我的终端上获取每个mongo客户端结果差不多5分钟,但如果我在我的机器上从Mongo客户端连接到Mongo结果是实时的,那么不是容器性能,而是使用attach命令的某种缓冲/延迟

UPDATE2

我的一位朋友在类似的环境中(OS X 10.11和Docker 1.9)使用“docker attach”进行了一些测试并且与地雷具有相同的结果。在终端上显示结果的时间很长。

1 个答案:

答案 0 :(得分:1)

经过一些研究后,我仍然找不到附加命令行为的解决方案或解释,但我最终可以使用exec命令附加到容器并安全地执行任何操作:

docker exec -it {{containerNameOrId}} bash

只需使用您的容器名称或ID运行它,您就可以访问容器bash并执行任何操作。