2
最近我們遇到了一些測試容器的啓動時間問題: 慢速計算機無法啓動硬編碼爲30秒的容器。StartupCheckStrategy和WaitStrategy在測試容器中的區別
通過將所有檢查移至具有可配置超時的WaitStrategy來解決問題。
是否有任何理由保持兩項檢查? 什麼應該在StartupCheckStrategy和WaitStrategy中檢查?
最近我們遇到了一些測試容器的啓動時間問題: 慢速計算機無法啓動硬編碼爲30秒的容器。StartupCheckStrategy和WaitStrategy在測試容器中的區別
通過將所有檢查移至具有可配置超時的WaitStrategy來解決問題。
是否有任何理由保持兩項檢查? 什麼應該在StartupCheckStrategy和WaitStrategy中檢查?
對不起,這有點令人困惑!
StartupCheckStrategy
用於檢查Docker是否設法啓動容器。有幾種不同的變化,但基本上只是「容器是否達到運行狀態?」。
儘管容器正在運行,但並不意味着它實際上已準備好做任何有用的事情(例如接受連接或做功) - 這就是WaitStrategy
的用途。默認的等待檢查只是簡單地探測以確保TCP端口正在偵聽,但你可以用更復雜的檢查來覆蓋這些檢查。試圖通過驅動程序建立連接或尋找日誌字符串。
這聽起來像你通過將支票移動到WaitStrategy
實施做了正確的事情。再次抱歉,這是令人困惑的;我們顯然需要在文檔上做一些工作,以便更容易理解和更一致。