2014-08-28 21 views
31

Stworzyłem obraz ubuntu z nginx, php i postgres.dokowanie postgres pgadmin połączenie lokalne

Chcę połączyć bazę danych PostgreSQL w moim bieżącym obrazie z numerem pgadmin znajdującym się na moim komputerze lokalnym.

Próbowałem użyć inspektora dokowanego, aby spróbować użyć obrazu ip, aby nawiązać połączenie z moim lokalnym pgadminem, ale bez większego powodzenia. Próbowałem także skonfigurować niektóre porty lokalne, aby wykonać połączenie.

+0

Nie można powiedzieć, czy PostgreSQL nasłuchuje połączeń zewnętrznych (sprawdź pliki konfiguracyjne) lub czy port ten jest otwarty z lokalnego komputera. –

+0

Nie wydaje się możliwe udzielenie odpowiedzi na to pytanie z tak małą ilością informacji pod warunkiem, że – cthulhu

Odpowiedz

43

To ważne pytanie, nie wiem, dlaczego ludzie myślą "nie wydaje się możliwe, aby odpowiedzieć na to pytanie".

Więc, oto jak to zrobić, co chce zrobić:

  1. Pull postgres obraz z Docker Hub

    docker pull postgres:latest

  2. Uruchom pojemnika za pomocą poniższego polecenia

    docker run -p 5432:5432 postgres

  3. Korzystanie doker na inspekcję komenda znaleźć OD

  4. używać tego IP, port, nazwę użytkownika i hasło, aby połączyć w pgAdmin

  5. Można też zrobić prosty telnet jak poniżej, aby potwierdzić, czy można uzyskać dostęp postgres Döcker pojemnik

    telnet IP_ADDRESS 5432

+4

Jeśli publikujesz port z tym '-p 5432: 5432', to nie musisz szukać adresu IP kontenera, możesz użyć adresu IP twojego hosta, lub '127.0.0.1' lub po prostu' localhost' – Davos

4

trzeba wystawiać port postgres'owy w kontenerze do Ciebie system lokalny. Można to zrobić poprzez uruchomienie pojemnika tak:

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

podczas łączenia z klientem GUI lub CLI upewnij się, aby skorzystać z adresu IP nie localhost, nawet jeśli adres IP jest localhost adres IP.

docker ps dałbym adres IP twojego kontenera Postgres.

18

to, co osiągnąłem, w systemie Windows 10 z uruchomionym portem do Windows 1.12.6 (9655), etap jest jak poniżej:

  1. Pull najnowszej Postgres

    doker ciągnąć postgres: najnowsze

  2. uruchomić postgres containner

    doker run -d -e POSTGRES_USER = użytkownik -e POSTGRES_PASSWORD = hasło123 --name db-my -p 5432: 5432 --restart = zawsze postgres

  3. Następnie zainstalowano najnowszy wersja pgAdmin4 z pgadmin website

  4. Run pgAdmin 4 Utwórz nowy serwer, a wejście w następujący host: 127.0.0.1 Port: 5432 Nazwa użytkownika: użytkownik hasło: password123

  5. Wtedy wszystko jest ok, połączyć się z sukcesem instancji postgres docker.
+0

To działa. Powinien zostać oznaczony jako odpowiedź. – Tarik