sql >> データベース >  >> RDS >> Mysql

2つのDockerコンテナ間の通信に問題があります

    localhostは使用できません コンテナの内部では、それはコンテナ自体です。したがって、常に接続拒否エラーが発生します。

    以下のことができます-

    1. application.propertiesにホストマシンのIPを追加します スプリングブートアプリケーションのファイル。 (Dockerの移植性ロジックを壊すためお勧めしません)

    2. localhostを使用する場合 、--net=hostを使用します コンテナの起動中。 (論理ネットワーク層が存在しないため、本番環境には推奨されません)

    3. --linksを使用する DNS名を使用したコンテナ通信用。 (非推奨/レガシー)

    4. 作成ファイルを作成し、スプリングブートアプリからサービス名を使用してDBを呼び出します。これらは同じネットワーク内にあり、相互に高度に統合されているためです。 (推奨)

    PS-複数のコンテナを統合する必要がある場合は、常にdocker-compose version 3+を選択してください。 。 docker run|buildを使用します 基本を理解し、ドライ/テストランを実行します。



    1. ローカルホストを介してMySQLを接続しますが、127.0.0.1は機能しています

    2. MySQL:今週のレコードを選択する方法は?

    3. セーフティネット

    4. mysqliまたは死ぬ、それは死ぬ必要がありますか?