[英]How do I connect SpringBoot application running on host to Postgresql running on Docker?
[英]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 上研究這個方法:
如果你使用的是Docker Toolbox,宿主機上的程序需要使用docker-machine ip.1092.168的IP地址,一般是1092.168;。 本地主機將不起作用。 ——大衛迷宮
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.