sql >> Base de Datos >  >> RDS >> Mysql

Problemas de comunicación entre dos contenedores docker

No puede usar localhost dentro del contenedor, es el contenedor mismo. Por lo tanto, siempre obtendrá el error de conexión rechazada.

Puedes hacer las siguientes cosas:

  1. Agregue la IP de su máquina host en application.properties archivo de su aplicación Spring Boot. (No recomendado ya que rompe la lógica de portabilidad de la ventana acoplable)

  2. En caso de que quieras usar localhost , utilice --net=host mientras arranca el contenedor. (No recomendado para producción ya que no existe una capa de red lógica)

  3. Usar --links para la comunicación del contenedor con un nombre DNS. (obsoleto/heredado)

  4. Cree un archivo de redacción y llame a su base de datos desde la aplicación Spring Boot con el nombre del servicio, ya que estarán en la misma red y altamente integrados entre sí. (Recomendado)

PD:siempre que necesite integrar varios contenedores, elija docker-compose version 3+ . Usa docker run|build para comprender los fundamentos y realizar ejecuciones de prueba/secado.