ホームページ >データベース >mysql チュートリアル >Node.js で MySQL Docker コンテナに接続するときに発生する「ECONNREFUSED」エラーを修正する方法
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 サイトの他の関連記事を参照してください。