J'essaie d'implémenter mon fichier Docker-compose, mais j'ai une erreur avec ma base de données PostgreSQL.
Si je démarre mon projet avec NPM Start, je n'ai aucun problème.
Pour commencer mon projet avec Docker, j'utilise: docker-compose Up && docker-compose Build ma sortie: p> i don ' t Comprendre pourquoi je ne peux pas connecter mon serveur à ma base de données PostgreSQL avec Docker. P> EDIT:
Merci pour votre aide, mais avec vos solutions, j'ai toujours le même problème et la même sortie.
J'ai réussi avec ce docker-compose: p> merci,
Cordialement. P> p>
3 Réponses :
Lorsque vous utilisez Postgres avec Docker, je vous recommanderais de ne pas définir l'URL comme vous avez ci-dessus. L'URL que vous définissez ci-dessus est déjà la manière dont vous y accéderiez via le réseau Docker interne. Si vous supprimez cela, alors l'URL aurait besoin d'accéder à l'instance Postgres est En outre, vous avez une faute de frappe dans votre URL. P> Postgres: // Utilisateur: PWD @ Postgres / Your_DB Code>. P>.
Je ne comprends pas pourquoi je ne peux pas connecter mon serveur à ma base de données PostgreSQL avec Docker. P>
Parce que dans la plupart des cas, le conteneur code> serveur code> sera opérationnel et essayez de vous connecter au conteneur
dB code>, cependant, le
dB code> prend du temps à démarrer (normalement 10-15 secondes). P>
C'est pourquoi vous obtenez
ne pouviez pas vous connecter à Postgres {Erreur: Connect Econnrefused 127.0.0.1:5432 CODE> Exception, car
db code> n'est pas prêt et prêt à accepter les connexions. p>
Ce que vous pouvez faire pour se redémarrer votre code> conteneur code> après son échec à démarrer. p>
xxx pré> blockQuote>
Votre client de projet essaie d'accéder à la post-progressition du 127.0.0.1:5432, cette adresse ne s'applique plus sous l'architecture Docker.
Selon Documentation Docker : P>
Par défaut Compose définit un réseau unique pour votre application. Chaque Le conteneur pour un service rejoint le réseau par défaut et est à la fois accessible par d'autres conteneurs sur ce réseau et découvrable par eux à un nom d'hôte identique au nom du conteneur. P> blockQuote>
Docker gère toutes les instances du réseau virtuel pour vous et les rend disponibles en utilisant le nom que vous avez attribué au conteneur dans le fichier Docker-compose. p>
Donc, de votre client, vous devez accéder à la post-progressie avec la chaîne ci-dessous: p>
xxx pré> Notez toute demande à
dB code> sera Catch par docker et redirigé vers le
Host: port code> du conteneur dans le réseau virtuel géré par Docker. p> p>
Il semble se connecter au localhost. Avez-vous spécifié une chaîne d'accueil pour votre conteneur Dev-Zone-2018?