Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

connect docker postgres from outside (DBeaver)

I am using Airflow through Docker-compose. The same docker-compose.yml has an image of Postgres as well. The config looks like below -

  postgres:
    image: postgres:13
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: airflow
      POSTGRES_PASSWORD: airflow
      POSTGRES_DB: airflow
    volumes:
      - postgres-db-volume:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "airflow"]
      interval: 5s
      retries: 5
    restart: always

This works fine for Airflow and I am also able to access the DAG on the UI.

But I want to access the dockerized Postgres instance from an outside SQL client application like Dbeaver. But I am not able to do that.

IP Address

Postgres Setting

Can someone please help me to resolve this?

Note: I already have a separate Postgres instance running on my local.

like image 360
sandeep Avatar asked Nov 28 '25 01:11

sandeep


2 Answers

You should put 'localhost' instead of '172.25.0.2' and ensure there is no port '5432' already used in your system by using lsof -i:5432 | grep 'LISTEN'.

I prefer to use another port. see screenshot below

enter image description here

like image 120
ansuf Avatar answered Nov 30 '25 15:11

ansuf


After trying several times, as @Jashwant mentioned, this port(5432) was occupied. Note that it is possible that this port not be shown in lsof -i -P command.

So I used another port and instead of 5432:5432, I used 6543:5432 and it solved the problem.

like image 26
Prof.Plague Avatar answered Nov 30 '25 15:11

Prof.Plague



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!