Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2.2K
Visualizações
Conexión docker pgAdmin4 rechazada al conectar la base de datos postgres local

Estoy tratando de conectar mi base de datos postgres local usando el contenedor docker pgAdmin4. Cuando abro http://localhost:5050/ e inicio sesión después de crear una nueva conexión con el servidor, aparece Unable to connect to server: could not connect to server: Connection refused .

Aquí está mi archivo docker-compose.yml

 version: '3.5' services: pgadmin: container_name: pgadmin4 image: dpage/pgadmin4 environment: PGADMIN_DEFAULT_EMAIL: db@db.com PGADMIN_DEFAULT_PASSWORD: odoo volumes: - pgadmin:/root/.pgadmin ports: - "5050:80" restart: unless-stopped volumes: pgadmin:

ingrese la descripción de la imagen aquí

Estoy encontrando una solución para conectar mi base de datos postgres local con el contenedor docker pgadmin4. Estoy usando el sistema operativo Ubuntu 20.04 .

---- Base actualizada en la respuesta de @Veikko -----------

Aquí está mi código de archivo docker-compose https://pastebin.com/VmhZwtaL

y aquí está el archivo postgresql.conf https://pastebin.com/R7ifFrGR

y el archivo pg_hba.conf https://pastebin.com/yC2zCfBG

over 4 years ago · Santiago Trujillo
6 Respostas
Responde à pergunta

0

Tengo un problema antes, ahora he encontrado la solución.

Solo escribe este comando

 docker exec <container_name> cat /etc/hosts

Entonces mostrará esto

 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.18.0.3 607b00c25f29

use 172.18.0.3 como su nombre de host

Espero que esto le pueda ayudar.

over 4 years ago · Santiago Trujillo Relatório

0

Puede acceder a su máquina host desde su contenedor docker con el nombre dns host.docker.internal . Reemplace localhost en la conexión de su servidor con este nombre. El nombre localhost dentro de su pgAdmin se refiere al contenedor docker en sí, no a su máquina host.

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar image qoomon/docker-host para acceder a los servicios en su computadora host. Agregue el servicio docker-host a su docker-compose de esta manera:

 version: '3.5' services: docker-host: image: qoomon/docker-host cap_add: [ 'NET_ADMIN', 'NET_RAW' ] restart: on-failure pgadmin: container_name: pgadmin4 image: dpage/pgadmin4 environment: ...

Después de esto, debería poder acceder al servicio Postgres de su host con el nombre de host docker-host. Reemplace localhost con docker-host en su cadena de conexión y la conexión debería funcionar.

Si tiene problemas con la conexión después de esto, asegúrese de que no tiene ningún firewall que bloquee el tráfico, tiene la configuración de red Docker adecuada (ver documentos) y su postgresql está escuchando esta dirección.

La versión Ubuntu/linux de Docker actualmente no es compatible con el nombre de DNS host.docker.internal que señalaría los contenedores al host. Esa es la forma más fácil de vincular al host en Docker para Mac o Windows. Espero que esto también llegue pronto a Linux.

Se puede encontrar más información sobre docker-host en el repositorio de Github: https://github.com/qoomon/docker-host

over 4 years ago · Santiago Trujillo Relatório

0

Primero llame a esto: sudo netstat -nplt para asegurarse de que alguien escuche en el puerto 5432.
Luego llame a sudo ip addr para conocer la IP de su host mashine.
Entonces intente conectarse usando una IP real en lugar de localhost .
Veo en su salida de ip addr :

3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 30:10:b3:e4:39:e2 brd ff:ff:ff:ff:ff:ff inet 192.168.43.190/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp3s0

Entonces tu IP real es 192.168.43.190

over 4 years ago · Santiago Trujillo Relatório

0

Cree un server con nombre de host/dirección 172.17.0.1 y asegúrese de que PostgreSQL esté escuchando (*).

install_pgadmin4_using_docker

producción

over 4 years ago · Santiago Trujillo Relatório

0

puede intentar agregar a su pg_hba.conf

 host all all 0.0.0.0/0 trust

o

 host all all 0.0.0.0/0 md5

Probar.

Luego, si esto funciona, debe cambiar la máscara de red 0.0.0.0/0 a su máscara de red brillante de Docker. Y compruébalo de nuevo. Por cierto. para conectarse a su host local (en el host), debe conectarse a la ip brillante de docker para mí, es 172.17.0.1/32 .

EDITAR: Segundo: postgresql.conf

descomente y lea lo que hay escrito:

 listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart)

debe vincularse a sus IP que se pueden conectar desde la ventana acoplable, por lo que en mi caso debería ser 172.17.0.1

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda