Kri*_*lla 4 windows postgresql ubuntu docker
我需要帮助从 Windows 10 PgAdmin 连接安装在 HyperV ubuntu 18.4 中的 Docker 中的 PostgreSQL。到目前为止,我尝试了以下
第 1 步:在 Docker 中安装 Postgres(在 Hyper-V 上运行的 Ubuntu)
sudo docker run -p 5432:5432 --name pg_test -e POSTGRES_PASSWORD=admin -d postgres
Run Code Online (Sandbox Code Playgroud)
第 2 步:创建数据库
docker exec -it pg_test bash
psql -U postgres
create database mytestdb
Run Code Online (Sandbox Code Playgroud)
第三步:获取ip地址
sudo docker inspect pg_test | grep IPAddress
//returned with 172.17.0.2
Run Code Online (Sandbox Code Playgroud)
第 4 步:pg_hba.conf
host all all 0.0.0.0/0 md5
Run Code Online (Sandbox Code Playgroud)
第 5 步:当我尝试从 Windows PgAdmin 4 连接时,出现以下错误 -
注意:我也尝试使用 UBUNTU VM IP 地址,但没有成功

您的情况是您尝试从另一个子网连接到 postgres,即如果您不使用桥接协议,则从 windows 子网到管理程序子网。
所以情况1:
接下来是确保端口从 ubuntu 端打开。您如何检查,从 Windows cmd 提示符对端口号执行 telnet。
远程登录 192.168.0.10 5432
如果您已桥接并且您也可以 ping 服务器,请检查是否打开了 telnet 工作的端口。您需要确保 postgres.conf 文件中的“监听地址”为“*”。这就是全部。
再次从 ubuntu 的操作系统级别运行命令systemctl stop firewalld以停止防火墙,然后尝试连接。如果这有效,那么您需要使用以下命令在防火墙中打开端口:
firewall-cmd --permanent --add-port 5432/tcp
Run Code Online (Sandbox Code Playgroud)
我可以从你的 docker image 中看到 5432 已经打开。这更多是端口映射和防火墙的东西。
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |