gpt4 book ai didi

windows - 从 Windows 10 PgAdmin 连接安装在 Hyper-V Ubuntu 中的 docker 中的 PostgreSQL

转载 作者:行者123 更新时间:2023-12-02 17:58:46 25 4
gpt4 key购买 nike

我需要帮助从 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

第二步:创建数据库
docker exec -it pg_test bash
psql -U postgres
create database mytestdb

第三步:获取ip地址
sudo docker inspect pg_test | grep IPAddress
//returned with 172.17.0.2

第 4 步:pg_hba.conf
host    all             all             0.0.0.0/0               md5

第 5 步:当我尝试从 Windows PgAdmin 4 连接时,出现以下错误 -
备注 : 我也尝试过使用 UBUNTU VM IP 地址,但没有运气
enter image description here

最佳答案

您的情况是您尝试从另一个子网连接到 postgres,即如果您不使用桥接协议(protocol),则将 windows 子网连接到虚拟机管理程序子网。

所以案例1:

  • 如果这是在 NAT\HOST 而不是在网桥上,那么您需要确保您能够从 windows 服务器 ping ubuntu 服务器。
  • 接下来是确保从 ubuntu 端打开端口。您如何检查,从 windows cmd 提示符对端口号执行 telnet。

    远程登录 192.168.0.10 5432

  • 如果您已桥接并且您也可以 ping ping 服务器,请检查是否打开了 telnet 工作的端口。您需要确保在 postgres.conf 文件中
    “收听地址”是“*”。仅此而已。

    再次从 ubuntu 的操作系统级别运行命令 systemctl stop firewalld停止防火墙,然后尝试连接。如果这可行,那么您需要使用以下命令在防火墙中打开端口:
    firewall-cmd --permanent --add-port 5432/tcp

    我可以从你的 docker image 中看到 5432 已经打开。这更多的是端口映射和防火墙的东西。

    关于windows - 从 Windows 10 PgAdmin 连接安装在 Hyper-V Ubuntu 中的 docker 中的 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59949864/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com