ホームページ  >  記事  >  バックエンド開発  >  Go アプリを Docker コンテナーで実行すると「受信失敗: ピアによって接続がリセットされました」というメッセージが表示されるのはなぜですか?

Go アプリを Docker コンテナーで実行すると「受信失敗: ピアによって接続がリセットされました」というメッセージが表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 05:19:03431ブラウズ

Why Does My Go App Get

Docker ポート公開の問題: 「受信失敗: ピアによる接続のリセット」の解決

Docker 内で Go アプリのバイナリを実行しようとしたときコンテナーを使用すると、アプリが外部接続を受信できないという問題が発生する可能性があります。このエラーは、curl コマンドを呼び出すときに「受信失敗: ピアによって接続がリセットされました」として現れます。

この問題の原因は、コンテナのネットワーク構成にあります。アプリがコンテナー内で実行される場合、通常は次のコマンドが使用されます:

http.ListenAndServe("localhost:8081", nil)

ただし、この構成では、コンテナー自体内からのみ接続を確立できます。この問題を解決し、アプリへの外部アクセスを有効にするには、コマンドを次のように変更する必要があります。

http.ListenAndServe(":8081", nil)

「localhost」プレフィックスを省略すると、アプリはコンテナー内とコンテナー外の両方から発信される接続に対してアプリ自体を開きます。 。この変更により、アプリが Docker 環境で実行されるときにアプリと適切に外部通信できるようになります。

以上がGo アプリを Docker コンテナーで実行すると「受信失敗: ピアによって接続がリセットされました」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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