Mysql
 sql >> Database >  >> RDS >> Mysql

Problemi di comunicazione tra due contenitori Docker

Non puoi usare localhost all'interno del contenitore, è il contenitore stesso. Quindi, riceverai sempre l'errore di connessione rifiutata.

Puoi fare le seguenti cose -

  1. Aggiungi l'IP della tua macchina host in application.properties file della tua applicazione di avvio primaverile. (Non consigliato poiché interrompe la logica di portabilità della finestra mobile)

  2. Nel caso in cui desideri utilizzare localhost , usa --net=host mentre si avvia il contenitore. (Non consigliato per Produzione poiché non esiste un livello di rete logica)

  3. Usa --links per la comunicazione del contenitore con un nome DNS. (obsoleto/legacy)

  4. Crea un file di composizione e chiama il tuo DB dall'app di avvio primaverile con il nome del servizio poiché saranno nella stessa rete e altamente integrati tra loro. (Consigliato)

PS:ogni volta che devi integrare più contenitori insieme, scegli sempre docker-compose version 3+ . Usa docker run|build per comprendere i fondamenti e l'esecuzione di prove a secco.