PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 31/12/2018 18:09:39

pgadmin4 dans un container docker et pg11 en local

Bonjour,

J'ai installé PostgreSQL 11 dans un conteneur Docker et pgadmin4 dans un autre.

Voir https://sqldesign.blog/2018/12/24/how-t … th-docker/

Ça fonctionne bien.

J'ai installé PostgreSQL 11 en local (Ubuntu 16.04)

Mais je ne peux pas accéder au cluster pg local à partir de pgadmin4 dans mon conteneur.

Unable to connect to server:

could not connect to server: Operation timed out
Is the server running on host "217.39.18.97" and accepting
TCP/IP connections on port 5433?

Adresse IP du local (donnée par google): 217.39.18.97
Adresse IP du conteneur pgadmin4 (donnée par docker inspect): 172.17.0.3
Port du cluster pg local (donné par \ conninfo): 5433

dans pg_hba:
host all all 0.0.0.0/0 md5

Que puis-je faire ?

Bonne année

Hors ligne

#2 01/01/2019 17:54:57

dverite
Membre

Re : pgadmin4 dans un container docker et pg11 en local

Adresse IP du local (donnée par google): 217.39.18.97

Comment ça donnée par google?
Ce n'est pas une adresse locale, dans le sens où c'est une adresse routable depuis l'Internet, et elle n'appartient pas à google non plus visiblement: https://www.whois.com/whois/217.39.18.97

Hors ligne

#3 01/01/2019 21:20:07

rjuju
Administrateur

Re : pgadmin4 dans un container docker et pg11 en local

Vous devez également utiliser l'adresse IP du container docker (de pg) dans pgadmin.

Hors ligne

#4 02/01/2019 12:46:10

Re : pgadmin4 dans un container docker et pg11 en local

@dverite
il y a sur le net un grand nombre de sites qui vous donnent votre adresse IP (ex : http://www.mon-ip.com/)

@rjuju
c'est ce que je fais pour la version de pg qui est sur docker et ça marche. Mais pour la version de pg en local (installée avec apt-get), 127.0.0.1 ou l'adresse donnée par l'utilitaire ci-dessus, ça ne marche pas.
cf https://sqldesign.blog/2018/12/23/how-t … nt-volume/

@dverite & @rjuju
le pg_hba.conf est-il correct ? faudrait-il faire qqch au niveau de linux ?
merci pour votre attention et bonne année

Hors ligne

#5 02/01/2019 13:19:31

Re : pgadmin4 dans un container docker et pg11 en local

en bref :
Pgadmin4      PostgreSQL     OK?
---------------------------------------------
Docker           Docker             Yes
Docker           Local                No

Hors ligne

#6 02/01/2019 13:54:05

rjuju
Administrateur

Re : pgadmin4 dans un container docker et pg11 en local

Ça va un peu à l'encontre de la philosophie docker.  Je suppose qu'il faut que vous exposiez le port pg de la machine aux containers, mais aucune idée de comment faire ça.

Hors ligne

#7 02/01/2019 14:14:18

Re : pgadmin4 dans un container docker et pg11 en local

Quand je crée le serveur dans pgadmin4 :
Host : 127.0.0.1
Port: 5433 (donné par conninfo. j'avais installé le container pg avant d'installer pg en local)
Maintenance db, username, password : as usual...

et puis :

could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5433?

Avoir pgadmin4 sur docker qui permet de travailler avec plusieurs clusters pg qui tournent en docker ou non irait à l'encontre de la philosophie docker ?

Merci pour votre attention

Hors ligne

#8 02/01/2019 15:20:39

rjuju
Administrateur

Re : pgadmin4 dans un container docker et pg11 en local

Je parlais uniquement de faire dialoguer un container docker avec un service installé sur la machine hôte.  C'est bien le problème que vous rencontrez ?

Hors ligne

#9 02/01/2019 16:32:21

dverite
Membre

Re : pgadmin4 dans un container docker et pg11 en local

il y a sur le net un grand nombre de sites qui vous donnent votre adresse IP (ex : http://www.mon-ip.com/)

C'est l'IP du point de vue de l'extérieur, autrement dit du reste de l'Internet. "Operation timed out" dans la tentative de connexion signifie généralement qu'il y a un firewall qui bloque les paquets, ce qui est normal pour éviter que n'importe qui sur Internet soit tenté de se connecter à votre instance Postgres.


Je pense que cette IP ne sert pas pour ce que voulez faire. Ce que vous voulez, c'est que le container puisse initier une connexion TCP vers le host sur son port 5433. Il y a sûrement moyen de faire ça, mais c'est une question purement réseau docker à laquelle personnellement je ne sais pas répondre.

Hors ligne

#10 02/01/2019 17:35:02

Re : pgadmin4 dans un container docker et pg11 en local

@rjuju & @dverite

Effectivement, le problème se trouve au niveau de la configuration de Docker,

Dés que je trouve qqch, je vous le ferai savoir.

Un grand merci à tous deux pour votre attention.

Hors ligne

#11 02/01/2019 21:44:26

Re : pgadmin4 dans un container docker et pg11 en local

Cette commande permet d'utiliser pgadmin4 en container sur un cluster pg en local

sudo docker run \
  -d \
  --rm \
  --net=host \
  -e "PGADMIN_DEFAULT_EMAIL=sql.design.company@gmail.com" \
  -e "PGADMIN_DEFAULT_PASSWORD=secret" \
  --name pgadmin_local dpage/pgadmin4

Mais je ne suis pas encore arrivé à avoir 2 pgadmin4 sur docker, un sur pg sur docker et un sur pg sur le host...

Encore moins, à avoir un pgadmin4 sur docker avec 2 clusters...

Ars longa vita brevis

Hors ligne

Pied de page des forums