ホームページ  >  記事  >  バックエンド開発  >  UnixHTTPConnectionPool での Docker Compose タイムアウト: 原因と修正方法?

UnixHTTPConnectionPool での Docker Compose タイムアウト: 原因と修正方法?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-12 08:14:02225ブラウズ

Docker Compose Timeout with UnixHTTPConnectionPool: What Causes It and How to Fix It?

UnixHTTPConnectionPool での Docker Compose タイムアウト: トラブルシューティングと回避策

コンテナ オーケストレーションの領域では、docker-compose up は、複数の Docker コンテナを同時に起動します。ただし、場合によっては、ユーザーがプロセスを停止させる複雑なエラーに遭遇することがあります: UnixHTTPConnectionPool 読み取りタイムアウト。

最近の投稿では、あるソフトウェア エンジニアが、多数の (20 個の) テストを伴う Jenkins テスト環境でこの問題に直面しました。サービスの(14)。断続的に、次のエラーが発生しました:

ERROR: for testdb-data UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
An HTTP request took too long to complete.

徹底的なトラブルシューティングの後、このエラーの根本原因は依然としてわかりません。考えられる仮説は、エージェントのリソースのフル活用との相関関係ですが、具体的な証拠は不足しています。

それにもかかわらず、一時的な解決策として 2 つの潜在的な回避策が浮上しています:

  • 再起動Docker サービス: sudo systemctl restart docker を実行すると、ユーザーは潜在的に問題を解決できる可能性があります。
  • 環境変数の設定: DOCKER_CLIENT_TIMEOUT および COMPOSE_HTTP_TIMEOUT に適切なタイムアウトを割り当てると、ある程度の軽減が得られます。両方の変数の適切な設定は 120 で、デフォルトの接続タイムアウトの 60 秒を延長します。

関連する問題が Docker Compose GitHub で報告されているため、この問題は説明されている環境に固有のものではありません。リポジトリ:

  • https://github.com/docker/compose/issues/3927
  • https://github.com/ docker/compose/issues/4486
  • https://github.com/docker/compose/issues/3834

恒久的な解決策がまだ待たれていますが、前述の回避策を採用することで、決定的な修正が利用可能になるまでしばらく休むことができます。

以上がUnixHTTPConnectionPool での Docker Compose タイムアウト: 原因と修正方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。