UnixHTTPConnectionPool を使用して Docker-Compose タイムアウトを解決する
パイプラインが Jenkins エージェント上のテストを調整する継続的インテグレーションの領域では、時折問題が発生する可能性があります。起きます。遭遇する問題の 1 つは、docker-compose up の実行時にイライラする「UnixHTTPConnectionPool」タイムアウトです。
調査の結果、このエラーはセットアップ中に頻繁に発生し、docker-compose を介して大量のコンテナをスピンアップする必要があることが判明しました。 。さらに、この症状は散発的に発生し、システム リソースにリンクするパターンはまだ確立されていませんでした。
綿密なデバッグの後、問題に効果的に対処する 2 つの回避策が明らかになりました。それは、Docker サービスの再起動 (sudo systemctl restart docker) です。 DOCKER_CLIENT_TIMEOUT および COMPOSE_HTTP_TIMEOUT 環境変数の構成 (export DOCKER_CLIENT_TIMEOUT=120; import COMPOSE_HTTP_TIMEOUT=120).
関連する GitHub の問題の参照 (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 Up の実行時に「UnixHTTPConnectionPool」タイムアウトを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。