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 サイトの他の関連記事を参照してください。