最近我们遇到了一些测试容器的启动时间问题: 慢速计算机无法用硬编码的30秒启动容器。
通过将所有检查移动到具有可配置超时的WaitStrategy来解决问题。
有没有理由保留两张支票? 应该在StartupCheckStrategy和WaitStrategy中检查什么?
答案 0 :(得分:3)
对不起,这有点令人困惑!
StartupCheckStrategy
用于检查Docker是否设法启动容器。有几种不同的变化,但基本上只是'容器达到RUNNING状态?'。
仅仅因为容器正在运行,并不意味着它实际上准备好做任何有用的事情(例如接受连接或工作) - 这就是WaitStrategy
的用途。默认的等待检查只是探测以确保TCP端口正在侦听,但您可以使用更复杂的检查来覆盖这些,例如尝试通过驱动程序建立连接或查找日志字符串。
听起来你通过将支票移到WaitStrategy
实施来做对了。再次抱歉,这令人困惑;我们显然需要对文档做一些工作,以使其更容易理解和更一致。