I have created an ubuntu image with nginx, php and postgres.
I want to connect the postgres database in my current image with pgadmin
located on my loca
Alternatively, you could combine Postgres and Pgadmin in one docker-compose
file, and login as user pgadmin4@pgadmin.org
, pwd: admin
. To add the Posgres server, use hostname postgres
, port 5432
.
version: '3'
services:
postgres:
image: postgres
hostname: postgres
ports:
- "6543:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: TEST_SM
volumes:
- postgres-data:/var/lib/postgresql/data
restart: unless-stopped
pgadmin:
image: dpage/pgadmin4
depends_on:
- postgres
ports:
- "5555:80"
environment:
PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org
PGADMIN_DEFAULT_PASSWORD: admin
restart: unless-stopped
volumes:
postgres-data:
To find the correct ip for your container, execute the following commands:
Check container ID:
docker ps
To check the correct IP of your container:
docker inspect <ID_CONTAINER> | grep "IPAddress"
The configuration of both PostgreSQL and PgAdmin with Docker are simple, if not right, I recommend redoing the configuration from scratch, if your problem is deeper.
Here is a script I developed to solve this problem. script-sh/install-docker-postgres-and-pgadmin
It's a valid question don't know why people feel "doesn't seem possible to answer that question".
So, here's how I do what you are trying to do:
Pull postgres image from Docker Hub
docker pull postgres:latest
Run the container using the below command
docker run -p 5432:5432 postgres
Using docker's inspect command find the IP
Use that IP, PORT, Username, and Password to connect in PGADMIN
You can also do a simple telnet like below to confirm if you can access docker postgres container:
telnet IP_ADDRESS 5432
The solution I tried and worked for me, was to create a docker compose file where I included postgress and pgadmin as services. For more details: Connecting pgadmin to postgres in docker