Maison >développement back-end >Golang >Échec de l'initialisation de la base de données, erreur lors de la composition de TCP 127.0.0.1:3306 : connexion : problème de connexion refusée
J'apprends Docker, commençons maintenant
Mais j'ai un problème quand je l'exécute avec ce docker
docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest
Voici une partie de mon code .env. J'utilise le bureau Docker sous Windows, suis-je incapable d'exécuter Docker sur localhost sous Windows ?
DB_HOST=127.0.0.1 DB_USERNAME=root DB_NAME=mydbs DB_PASS=root123 AUTH_GEN_URL=https://api.learning.mydbs.id
Est-ce que quelqu'un sait ? Toutes les réponses seraient grandement appréciées
Merci
Le problème est que lorsque vous démarrez le conteneur, il essaie de se connecter 127.0.0.1:3306
à l'intérieur du conteneur au lieu de l'hôte, vous obtenez donc l'erreur car la connexion a été refusée car il n'y a pas de connexion sur le port 3306 Tout s'exécute dans le conteneur sur localhost.
Pour Windows et Mac, ce problème peut être facilement résolu en utilisant host.docker.internal
而不是 127.0.0.1
. Cela garantit que les services exécutés dans le conteneur se connectent correctement à l'instance MySQL exécutée sur la machine hôte.
Pour Linux, c'est encore plus simple puisqu'il suffit d'ajouter la commande --network="host"
选项传递给 docker run
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!