Maison >développement back-end >Golang >Pourquoi mon application Go refuse-t-elle une connexion Postgres dans Docker Compose ?
Docker-Compose : connexion à Postgres refusée
Lors de la connexion à Postgres via pg-admin à partir d'une configuration Docker-compose, les utilisateurs peuvent rencontrent un refus d’établir une connexion depuis leur application Go. Cet article se penche sur ce problème et propose une solution.
Le problème survient lorsque l'URL de la base de données générée par l'application Go fait référence au nom d'hôte de la base de données comme « postgres », alors que le nom réel du conteneur/service est « base de données ». Pour résoudre ce problème, envisagez de modifier le nom dans le fichier compose.yaml ou de définir explicitement un champ de nom d'hôte. Par exemple :
database: build: database restart: always hostname: postgres
Vous pouvez également créer un réseau dédié pour que plusieurs services de conteneurs communiquent entre eux, évitant ainsi les problèmes de connexion. Ajoutez une section « réseaux » à la configuration de chaque service et définissez le réseau à la fin du compose.yaml :
database: # ... networks: - mynet backend: # ... networks: - mynet networks: mynet: name: my-shared-db-network
En implémentant ces modifications, vous pouvez établir une connexion entre votre application Go et Postgres tout en assurer une communication efficace au sein de l'environnement Docker-compose.
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!