无法从运行在Windows主机上的PGAdmin连接到运行在Docker上的Postgres。

4 浏览
0 Comments

无法从运行在Windows主机上的PGAdmin连接到运行在Docker上的Postgres。

我已阅读了关于此问题的所有问题,像这个问题,但没有帮助。

主机:Windows 10,运行VirtualBox和PgAdmin。

我已正确设置Docker并成功运行了一些容器。现在我尝试设置Postgres。我尝试了两个:

1 https://hub.docker.com/r/paintedfox/postgresql/

2 https://hub.docker.com/_/postgres/

两者都有相同的问题。当我尝试从PgAdmin连接时,它显示服务器未监听。

当我运行docker inspect postgres时,我看到

"NetworkSettings": {

"Bridge": "",

"SandboxID": "6ad76f4d61017c44f814c5ec7ab9081a650d925a46c2b69902c4f0e5209076ce",

"HairpinMode": false,

"LinkLocalIPv6Address": "",

"LinkLocalIPv6PrefixLen": 0,

"Ports": {

"5432/tcp": null

},

"SandboxKey": "/var/run/docker/netns/6ad76f4d6101",

"SecondaryIPAddresses": null,

"SecondaryIPv6Addresses": null,

"EndpointID": "3f14630554c972ac875cbb384725c6970d1d4d5acfba7cbc05e416b5b22f0056",

"Gateway": "172.17.0.1",

"GlobalIPv6Address": "",

"GlobalIPv6PrefixLen": 0,

"IPAddress": "172.17.0.2",

我尝试将该IP地址作为PGAdmin中的主机。

我尝试将容器设置为 -p 5432:5432,并使用 127.0.0.1:5432 进行连接。

我尝试在VirtualBox中为容器设置端口转发。

我还尝试了Kitematic中显示的机器主机:192.168.99.100。

0
0 Comments

问题原因:无法从Windows主机上运行的PGAdmin连接到运行在Docker中的Postgres数据库。

解决方法:通过更改Docker运行命令中的端口映射来解决此问题。具体步骤如下:

1. 在命令行中运行以下命令来启动容器:

docker run -p 32768:5432 my-postgres

2. 现在可以通过mapped-ip:32768的方式连接到Postgres数据库。在本例中,映射的IP地址是192.168.99.100。

通过以上步骤,您应该能够成功连接到在Docker中运行的Postgres数据库。

0
0 Comments

问题原因:在Kitematic的IP和端口部分,访问URL没有设置。

解决方法:点击旁边的IP地址并设置,然后将IP和端口输入到PGAdmin中,就可以连接到容器了。

补充说明:这个IP地址是通过运行docker-machine ip default命令返回的。

0