簡體   English   中英

如何使用 dbeaver 連接到在 docker 上設置的 Postgresql,在本地主機上運行?

[英]How do I connect to a Postgresql set up on docker, running on local host, with dbeaver?

我在 docker 上運行 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

如果您是從官方Postgres Docker 頁面來到這里的,請不要忘記將端口轉發標志-p 5432:5432添加到您的初始化命令中,就像 Rioh 上面所做的那樣:

docker run --name RiohRoweDB -e POSTGRES_PASSWORD=Charlie -d -p 5432:5432 postgres

還可以考慮在 Medium 上研究這個方法:

https://medium.com/@wkrzywiec/database-in-a-docker-container-how-to-start-and-whats-it-about-5e3ceea77e50

如果你使用的是Docker Toolbox,宿主機上的程序需要使用docker-machine ip.1092.168的IP地址,一般是1092.168;。 本地主機將不起作用。 ——大衛迷宮

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM