Docker pgadmin 4

Wenn man PostgreSQL über Docker betreibt, kann man nicht ohne weiteres auf die Datenbank zugreifen.

Deshalb beschreiben wir hier, wie man einen pgadmin 4 Container mit dem --link Parameter auf die Datenbank im PostgreSQL Conteiner zugreifen kann.

Aktueller TAG siehe Dockerhub https://hub.docker.com/r/dpage/pgadmin4

https://info.crunchydata.com/blog/easy-postgresql-10-and-pgadmin-4-setup-with-docker

Container Elastic Search
# Start Datenbank Container
docker run -d --restart=always \
	-v /opt/postgresql/muster/:/var/lib/postgresql/data/ \
	-e POSTGRES_USER=myodoo -e POSTGRES_PASSWORD=myodoo \
	--name "muster-db" \
	postgres:9.6.12

# Zugriff auf Container
docker run -d --restart=always \
	-e "PGADMIN_DEFAULT_EMAIL=meine@email.de" \
	-e "PGADMIN_DEFAULT_PASSWORD=meinpasswort" \
	--network networkname \
	--name="pgadmin4" \
	-p 127.0.0.1:5050:80 dpage/pgadmin4:latest

# Zugriff auf lokale DB
docker run -d --restart=always \
	-e "PGADMIN_DEFAULT_EMAIL=meine@email.de" \
	-e "PGADMIN_DEFAULT_PASSWORD=meinpasswort" \
	--name="pgadmin4" \
	-p 127.0.0.1:5050:80 dpage/pgadmin4:latest

# Zugriff auf Container mit Volume
docker volume create vol-pgadmin
docker run -d --restart=always \
	-e "PGADMIN_DEFAULT_EMAIL=meine@email.de" \
	-e "PGADMIN_DEFAULT_PASSWORD=meinpasswort" \
	--network networkname \
    --volume vol-pgadmin:/var/lib/pgadmin/ \
	--name="pgadmin4" \
	-p 127.0.0.1:5050:80 dpage/pgadmin4:latest


# ufw
sudo ufw allow in from "172.17.0.0/16" to any port 5432

# Anpassungen PostgreSQL
nano /etc/postgresql/9.6/main/pg_hba.conf
..
# IPv4 local connections:
host    all             all             172.17.0.0/16           trust
..

nano /etc/postgresql/9.6/main/postgresql.conf
..
listen_addresses = '*'                  # what IP address(es) to listen on;
..

# Restart PostgreSQL
service postgresql restart

# Zugriff 
http://localhost:5050

# Alte Version löschen
docker ps -a # Auflistung Container
docker stop pgadmin # Container stoppen
docker rm pgadmin # Container löschen
docker images # Auflistung Images
docker rmi IMAGEID # Image löschen