sql >> Database >  >> RDS >> Mysql

Problemen met communiceren tussen twee docker-containers

U kunt localhost niet gebruiken in de container is het de container zelf. Daarom krijgt u altijd de foutmelding Verbinding geweigerd.

Je kunt onderstaande dingen doen -

  1. Voeg het IP-adres van uw hostmachine toe in application.properties bestand van uw Spring Boot-toepassing. (Niet aanbevolen omdat het de portabiliteitslogica van de docker verbreekt)

  2. Als je localhost wilt gebruiken , gebruik --net=host tijdens het starten van de container. (Niet aanbevolen voor productie omdat er geen logische netwerklaag bestaat)

  3. Gebruik --links voor containercommunicatie met een DNS-naam. (verouderd/verouderd)

  4. Maak een samenstellingsbestand en bel uw DB vanuit de Spring Boot-app met de servicenaam, omdat ze zich in hetzelfde netwerk bevinden en sterk met elkaar zijn geïntegreerd. (Aanbevolen)

PS - Wanneer je meerdere containers met elkaar moet integreren, ga dan altijd voor docker-compose version 3+ . Gebruik docker run|build om de grondbeginselen te begrijpen en droog-/testruns uit te voeren.



  1. PHP float/decimale waarden invoegen in MySQL

  2. MySQL:ALTER NEGEER TABEL UNIEK TOEVOEGEN, wat wordt afgekapt?

  3. Hoe Oracle MD5 hash-functie aan te roepen?

  4. Kan ik een standaardschema instellen voor binnen een opgeslagen procedure?