Maison >développement back-end >Golang >Comment se connecter à un serveur MySQL à partir d'une application Go dans Docker en cas de « Connexion refusée » ?
Lorsque vous essayez de vous connecter à un serveur MySQL à partir d'une application Go exécutée dans Docker, les développeurs peuvent rencontrer l'erreur suivante :
dial tcp 127.0.0.1:3306: connect: connection refused
Cause :
Par défaut, les conteneurs Docker s'exécutent dans des espaces réseau isolés, ce qui empêche les applications exécutées à l'intérieur d'accéder directement à l'hôte localhost de la machine.
Solution :
Pour résoudre ce problème, utilisez le nom d'hôte spécial docker.for.mac.localhost au lieu de localhost. Cette adresse permet la communication avec les services de la machine hôte en utilisant le réseau Docker :
<code class="go">db, err = sql.Open("mysql", dbUser+":"+dbPassword+"@tcp(docker.for.mac.localhost:3306)/"+dbName)</code>
<code class="yml">ports: - "3306:3306"</code>
Cela mappera le port 3306 de la machine hôte au port 3306 du conteneur, permettant à l'application Go de se connecter via le bon port.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!