私はEC2インスタンス(EC2_IP)にスプリングブートドッカーコンテナを設定しましたが、別のVMでMySQLをホストしています。私は、mysqlホスト(MYSQL_IP)がドッカーコンテナをホストしているEC2インスタンスからアクセス可能であることを確認しました。外部MySQLホストにアクセスするDockerコンテナ
ドッカーの実行中にdocker環境変数を使用してspring.datasource.urlパラメータを渡しています。
エラーメッセージが表示され、ユーザーに拒否されたバネ起動アプリがエラーdb_user @ EC2_IPです。これは私が理解し解決できない部分です。私はなぜそのEC2_IPに接続しようとしているのか理解していないdb_user @ MYSQL_IPの代わりに。
ドッカーの検査を行いました。spring.datasoure.urlの環境変数が正しく渡され、db_user @ MYSQL_IP:3306であることを確認しました。
私はこの問題を解決しようと数時間を費やしましたが、運はありません。どんな助けもありがとうございます。
コメントに基づいて明確にするために、データソースを正しく設定しました。
-Dspring.datasource.url = JDBC:ドッキングウィンドウ内
は、Argsの値を調べるmysqlの:// MYSQL_IP:3306 /テストも
、私がチェックし、私はいくつかの不正なIPを渡す場合(たとえば、 )いくつかのランダムなテキストは、ホストが無効であると言うエラーを投げます(これは、私が渡すホストを取っていることを確認します)。ただし、外部IPに設定すると、ホストIPアドレス(EC2_IP)に解決されるようです。
あなたはsprint-bootドッカーコンテナの中に入り、telnet sqlhost 3306を実行できますか? – lvthillo
'spring.datasource.url'はパスワードとユーザーがマスクされているように見えますか? –