localhost
は使用できません コンテナの内部では、それはコンテナ自体です。したがって、常に接続拒否エラーが発生します。
以下のことができます-
-
application.properties
にホストマシンのIPを追加します スプリングブートアプリケーションのファイル。 (Dockerの移植性ロジックを壊すためお勧めしません) -
localhost
を使用する場合 、--net=host
を使用します コンテナの起動中。 (論理ネットワーク層が存在しないため、本番環境には推奨されません) -
--links
を使用する DNS名を使用したコンテナ通信用。 (非推奨/レガシー) -
作成ファイルを作成し、スプリングブートアプリからサービス名を使用してDBを呼び出します。これらは同じネットワーク内にあり、相互に高度に統合されているためです。 (推奨)
PS-複数のコンテナを統合する必要がある場合は、常にdocker-compose version 3+
を選択してください。 。 docker run|build
を使用します 基本を理解し、ドライ/テストランを実行します。