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

rmc*_*rry 6 postgresql virtualbox docker

我已经阅读了这方面的所有问题,就像这一个,但它没有帮助.

主机: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所示

rmc*_*rry 9

我终于注意到,在Home选项卡的IP&Ports部分的Kitematc中,没有设置ACCESS URL.

在Docker端口下,它显示'5432/tcp'

所以我点击了旁边的IP地址并设置它,现在它显示:

192.168.99.100:32768

我将该IP和端口放入PGAdmin,它现在可以连接到容器.

仅供参考,即IP返回的相同IP:

docker-machine ip default
Run Code Online (Sandbox Code Playgroud)