Как мне подключиться к Postgresql, настроенному на докере, работающем на локальном хосте, с dbeaver? - PullRequest
0 голосов
/ 31 октября 2019

Я использую базу данных postgresql в докере, размещая ее на моей локальной машине. Когда я пытаюсь подключиться к нему с помощью DBeaver, я получаю сообщение об ошибке:

Connection to localhost:5432 refused.
Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Connection refused: connect

Вот команды, которые я запускал в Docker для создания моего образа PostgreSQL:

rrowe@LAPTOP-AFM43BOB MINGW64 /c/Program Files/Docker Toolbox
$ docker run --name RiohRoweDB -e POSTGRES_PASSWORD=Charlie -d -p 5432:5432 postgres
55c78d059fdb2b19bfdd24f579eaf26ef5b00c77ead564ee7d128fd06996789d

rrowe@LAPTOP-AFM43BOB MINGW64 /c/Program Files/Docker Toolbox
$ docker exec -it RiohRoweDB bash
root@55c78d059fdb:/# psql -U postgres
psql (12.0 (Debian 12.0-2.pgdg100+1))
Type "help" for help.

postgres=# CREATE DATABASE postgresqlDB
postgres-# \q
root@55c78d059fdb:/# exit
exit

rrowe@LAPTOP-AFM43BOB MINGW64 /c/Program Files/Docker Toolbox
$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
55c78d059fdb        postgres            "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:5432->5432/tcp   RiohRoweDB

Вкл. со стороны DBeaver я добавляю соединение со следующими параметрами:

Host:localhost
Port:5432
Database:postgresqlDB
User:postgres
Password:Charlie

Когда я проверяю соединение (кнопка «Проверить соединение» в настройках соединения)

Я получаю следующую ошибку:

Connection to localhost:5432 refused.
Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Connection refused: connect

Я следовал этому уроку, который не использовал DBeaver: https://medium.com/better-programming/connect-from-local-machine-to-postgresql-docker-container-f785f00461a7

1 Ответ

0 голосов
/ 31 октября 2019

Если вы используете Docker Toolbox, программы на хосте должны использовать IP-адрес из ip док-машины, обычно 192.168.99.100, для доступа к процессам контейнера;localhost не будет работать. - Дэвид Мейз

...