私はローカルに稼働しているMySQLサーバを持っています。それはコンテナ内にありません。私のアプリはRDSを打つことになるので、そのルートに行く意味はありません。私のアプリはテストとしてRDSを問題なく打つことができました。しかし明らかに私は地元の開発のために地元のものを打ちたい。なぜ、ECONNREFUSEDをdockerノードアプリケーションからlocalhost MySQLに接続するのですか?
私の端末からは、mysql --user=root --password=password mydb
を正常に実行できます。
タイムアウトエラーが発生しないため、コンテナからはping 127.0.0.1:3306
と問題ありません。
また、コンソールを使用して、RDSからローカルに実行されているMySQLに値を更新した後、適切な情報を確実に渡しています。
一般的にあなたが特定のポートを持つ 'ping'を使用していません「ping」はICMPパケットを使用するためです。 mysqlサーバが 'netstat -nlp'のようなものを使って目的のアドレスとポートでリッスンしていることを確認しましたか? – mscdex
mysqlサーバがUNIXソケットでリッスンしている場合は、 'mysql'モジュールまたはmysql2モジュールの' socketPath'接続設定オプションを使用して、ノードの代わりに接続することができます。 – mscdex
@mscdex netstatに関して、私のアプリが開いている接続を維持しようとしていない場合、3306がポップアップするのはなぜですか?確かにそこにはまだリストに載っていないし、私はそれが期待されるとは思わない。 –