使用UnixHTTPConnectionPool 解決Docker-Compose 超時
在持續集成領域,管道在Jenkins 代理上編排測試,偶爾出現的問題可能會發生出現。遇到的一個這樣的問題是執行 docker-compose up 時令人沮喪的「UnixHTTPConnectionPool」逾時。
經過調查,發現該錯誤經常發生在安裝過程中,其中涉及透過 docker-compose 啟動大量容器。而且,該症狀是零星出現的,並且尚未建立將其與系統資源聯繫起來的模式。
經過精心調試,出現了兩個有效解決該問題的解決方法:重新啟動docker 服務(sudo systemctl restart docker)並配置DOCKER_CLIENT_TIMEOUT 和COMPOSE_HTTP_TIMEOUT 環境變數(export DOCME_CLIENT_TIME/120); 。
參考相關 GitHub 問題 (https://github.com/docker/compose/issues/3927, https://github.com/docker/compose/issues/3927, https:// /github.com/docker/compose/issues/4486,https://github.com/docker/compose/issues/3834)揭示了根本原因。這些問題顯示 Docker 用戶端和伺服器之間存在潛在的競爭條件和通訊問題。
透過擴展超時參數,可以為連接建立提供充足的時間,從而減輕可怕的「UnixHTTPConnectionPool」逾時並確保順利進行執行測試管道。
以上是執行 Docker-Compose 時如何修復「UnixHTTPConnectionPool」逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!