ホームページ  >  記事  >  データベース  >  Node.js で MySQL Docker コンテナに接続するときに発生する「ECONNREFUSED」エラーを修正する方法

Node.js で MySQL Docker コンテナに接続するときに発生する「ECONNREFUSED」エラーを修正する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-10 19:46:02166ブラウズ

How to Fix

Node.js MySQL Docker 接続 ECONNREFUSED の解決

Node.js では、通常、エラー "ECONNREFUSED" は、接続しようとしたときの接続エラーを示します。データベースに接続します。 Docker コンテナ内で実行されている MySQL データベースに接続する場合、この問題は適切なポート マッピングを確保することで解決できます。

デフォルトでは、Docker はホスト ポートをコンテナ内の別のポートにマッピングします。提供された Docker Compose ファイルでは、MySQL コンテナはホスト上のポート 3307 で公開され、内部的にはポート 3306 でリッスンします。

この不一致を解決するには、Node.js 構成を変更して接続用の正しいポートを指定します。 to MySQL:

const config = {
  host: 'mysql', // Use the container name
  database: 'mydb',
  port: '3306', // Use the internal container port
  user: 'mysql',
  password: '1234',
  connectionLimit: 10
};

さらに、MySQL が待機するときに Docker Compose コマンドが正しいポートを使用することを確認します。利用可能:

command: ["./wait-for-it.sh", "mysql:3306"]

これらの変更により、Node.js が MySQL コンテナに正常に接続できるようになります。

以上がNode.js で MySQL Docker コンテナに接続するときに発生する「ECONNREFUSED」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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