sql >> Databasteknik >  >> RDS >> PostgreSQL

Problem med postgresql och pgadmin docker-containrar

Jag har återskapat ditt scenario så här:

# docker run -p 5431:5432 --name postgres2 -e POSTGRES_PASSWORD=ad1234 -d postgres
# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
d4030c577a24        postgres            "docker-entrypoint.s…"   2 minutes ago      Up 2 minutes       0.0.0.0:5431->5432/tcp   postgres2

# sudo -u postgres psql -h localhost -p 5431
could not change directory to "/root": Permission denied
Password: 
psql (10.5, server 11.2 (Debian 11.2-1.pgdg90+1))
WARNING: psql major version 10, server major version 11.
         Some psql features might not work.
Type "help" for help.

postgres=# CREATE DATABASE mytestdb;
CREATE DATABASE
postgres=# \q

Startar nu docker för pgadmin och kan ansluta till postgresql:

docker run -p 80:80 --link postgres2 -e "[email protected]" -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" -d dpage/pgadmin4

Med kommandot ovan kan du länka postgres2 docker till pgadmin docker och sedan när du skapar en anslutning på pgadmin4 bör du använda:

  • värdnamn/adress:postgres2
  • port:5432
  • Underhållsdatabas:postgres
  • användarnamn:postgres

med det har jag kopplat upp mig till Postgres från pgadmin4

Så vitt jag vet kommer docker PostgreSQL som standard med enbart localhost-anslutning och om du vill lägga till fjärranslutning bör du lägga till "listen_addresses ='*'" till postgresql.conf




  1. Det enklaste sättet att lägga till flera utrymmen till en sträng i MySQL – SPACE()

  2. Hur anger man värdnamnet i filen pg_hba.conf för postgresql?

  3. välj föregående datum, mysql

  4. Korrekt sätt att förhindra dubbletter av poster med MySQL eller PHP