Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
serveurs:installation:parefeu [2023/08/02 13:39] – [Installer et configurer Firewalld] jpmilcent | serveurs:installation:parefeu [2024/08/02 13:15] (Version actuelle) – [Problème : "psql: error: could not connect to server: Connection refused"] jpmilcent |
---|
| |
===== Problème : "psql: error: could not connect to server: Connection refused" ===== | ===== Problème : "psql: error: could not connect to server: Connection refused" ===== |
* **Contexte** : Depuis le container Borgmatic de l'instance //db-srv//, il est impossible d'accéder à Postgresql. La commande suivante ''<nowiki> psql -h 172.18.0.1 -p 5432 -U postgres --no-password </nowiki>'' génère l'erreur :<code> | * **Contexte** : Depuis le container Borgmatic de l'instance //db-srv//, il est impossible d'accéder à Postgresql. La commande suivante ''<nowiki> psql -h 172.18.5.1 -p 5432 -U postgres --no-password </nowiki>'' génère l'erreur :<code> |
psql: error: could not connect to server: Connection refused | psql: error: could not connect to server: Connection refused |
Is the server running on host "172.18.5.1" and accepting | Is the server running on host "172.18.5.1" and accepting |
TCP/IP connections on port 5432? | TCP/IP connections on port 5432? |
</code> | </code> |
* **Solution** : sur l'hôte, afficher les IPs sur lesquelles Postgresql écoute avec la commande ''ss -lntu'' et vérifier qu'il y ait bien une ligne : <code> | * **Solution #1 :** sur l'hôte, afficher les IPs sur lesquelles Postgresql écoute avec la commande ''ss -lntu'' et vérifier qu'il y ait bien une ligne : <code> |
tcp LISTEN 0 128 172.18.0.1:5432 0.0.0.0:* | tcp LISTEN 0 128 172.18.0.1:5432 0.0.0.0:* |
</code> Il faut Postgresql (port 5432) écoute sur l'IP de la gateway du bridge de Docker (ici 172.18.0.1). Si cette ligne est absente, redémarrer Postgresql ''systemctl restart postgresql''. Elle devrait apparaitre. Si pour une raison ou une autre le service Docker n'est pas démarré au moment du démarrage de Postgresql (ordre du démarrage des services par la machine lors de son lancement), Postgresql n'écoutera pas sur l'IP 172.18.0.1 car non existante... | </code> Il faut Postgresql (port 5432) écoute sur l'IP de la gateway du bridge de Docker (ici 172.18.0.1). Si cette ligne est absente, redémarrer Postgresql ''systemctl restart postgresql''. Elle devrait apparaitre. Si pour une raison ou une autre le service Docker n'est pas démarré au moment du démarrage de Postgresql (ordre du démarrage des services par la machine lors de son lancement), Postgresql n'écoutera pas sur l'IP 172.18.0.1 car non existante... |
| * **Solution #2 :** vérifier également via (Portainer) que le réseau nginx-proxy a bine un gateway définie à 172.18.5.1. Il faut également que les containers Dockers dans le réseau 172.18.x.x n'occupent pas les IP 172.18.5.1 et 172.18.5.0. Si le réseau est mal configuré, il faut le supprimer et le recréer correctement (voir section //Zone "docker"//). |
===== Problème : aucun accès à internet depuis le container ===== | ===== Problème : aucun accès à internet depuis le container ===== |
* ** Erreur** : <code> | * ** Erreur** : <code> |