0
votes

Docker-Compose Up && Docker-Compose Build: Erreur avec PostgreSQL

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 xxx

ma sortie: xxx

i don ' t Comprendre pourquoi je ne peux pas connecter mon serveur à ma base de données PostgreSQL avec Docker.

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: xxx

merci, Cordialement.


1 commentaires

Il semble se connecter au localhost. Avez-vous spécifié une chaîne d'accueil pour votre conteneur Dev-Zone-2018?


3 Réponses :


0
votes

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 Postgres: // Utilisateur: PWD @ Postgres / Your_DB . .

En outre, vous avez une faute de frappe dans votre URL.


0 commentaires

0
votes

Je ne comprends pas pourquoi je ne peux pas connecter mon serveur à ma base de données PostgreSQL avec Docker.

Parce que dans la plupart des cas, le conteneur serveur sera opérationnel et essayez de vous connecter au conteneur dB , cependant, le dB prend du temps à démarrer (normalement 10-15 secondes).

C'est pourquoi vous obtenez ne pouviez pas vous connecter à Postgres {Erreur: Connect Econnrefused 127.0.0.1:5432 Exception, car db n'est pas prêt et prêt à accepter les connexions.

Ce que vous pouvez faire pour se redémarrer votre conteneur après son échec à démarrer. xxx


0 commentaires

0
votes

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 :

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.

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.

Donc, de votre client, vous devez accéder à la post-progressie avec la chaîne ci-dessous: xxx

Notez toute demande à dB sera Catch par docker et redirigé vers le Host: port du conteneur dans le réseau virtuel géré par Docker.


0 commentaires