postgresql webinterface docker postgres pgadmin lokale Verbindung




postgresql reader (4)

Ich habe ein Ubuntu-Bild mit Nginx, PHP und Postgres erstellt.

Ich möchte die Postgres-Datenbank in meinem aktuellen Bild mit pgadmin auf meinem lokalen Rechner verbinden.

Ich habe versucht, docker Inspector zu verwenden, um zu versuchen, die Image-IP zu verwenden, um eine Verbindung mit meinem lokalen Pgadmin herzustellen, aber ohne viel Erfolg. Ich habe auch versucht, einige Ports auf lokal zu konfigurieren, um die Verbindung herzustellen.


Alternativ können Sie Postgres und Pgadmin in einer docker-compose Datei kombinieren und als Benutzer [email protected] , pwd: admin anmelden. Verwenden Sie zum Hinzufügen des Posgres-Servers 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: [email protected]
      PGADMIN_DEFAULT_PASSWORD: admin
    restart: unless-stopped

volumes:
  postgres-data:

Sie müssen den Postgres-Port im Container für Ihr lokales System verfügbar machen. Sie tun dies, indem Sie Ihren Container wie folgt ausführen:

docker run -p 5432:5432 <name/id of container>

Stellen Sie bei der Verbindung mit Ihrem GUI-Client oder CLI sicher, dass Sie die IP-Adresse nicht localhost verwenden, auch wenn Ihre IP-Adresse die localhost IP-Adresse ist.

docker ps würde dir die IP-Adresse geben, auf der sich dein postgres-Container befindet.


was ich erfolgreich auf Windows 10 ausgeführt habe docker für Windows 1.12.6 (9655), der Schritt ist wie folgt:

  1. Ziehen Sie die neuesten Postgres

    Docker Pull Postgres: neueste

  2. Führen Sie den Postgres-Container aus

    docker run -d -e POSTGRES_USER = Benutzer -e POSTGRES_PASSWORD = passwort123 --name db-mein -p 5432: 5432 --restart = immer postgres

  3. Dann installierte die neueste Version von pgAdmin4 von pgadmin Website

  4. Führen Sie pgAdmin 4 aus, erstellen Sie einen neuen Server und geben Sie Folgendes ein: Host: 127.0.0.1 Port: 5432 Benutzername: user password: password123

  5. Dann ist alles in Ordnung, Verbindung zu Docker Postgres Instanz Erfolg.

Es ist eine gültige Frage, weiß nicht, warum die Leute fühlen, "scheint nicht möglich, diese Frage zu beantworten".

Also, hier ist, wie ich das tue, was Sie tun wollen:

  1. Ziehen Sie das Postgres-Bild von Docker Hub

    docker pull postgres:latest

  2. Führen Sie den Container mit dem folgenden Befehl aus

    docker run -p 5432:5432 postgres

  3. Mit dem inspector-Befehl von docker finden Sie die IP-Adresse

  4. Verwenden Sie diese IP, PORT, Benutzername und Passwort, um eine Verbindung in PGADMIN herzustellen

  5. Sie können auch ein einfaches Telnet wie unten verwenden, um zu bestätigen, ob Sie auf den postkorb von docker zugreifen können:

    telnet IP_ADDRESS 5432





pgadmin