无法使用 docker 工具箱访问 docker 容器 运行 内的 postgres 数据库

Cannot access postgres database inside of a docker container run with docker toolbox

我正在 docker 工具箱 运行 docker windows 10 家,我似乎无法访问 postgres 数据库 运行装在容器中。

数据库肯定是运行ning,因为我用docker container ls.

可以看到容器

数据库的端口,5432,好像是公开的,我在虚拟机上运行ning netstat -atn可以看到。 netstat 显示

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 :::5432                 :::*                    LISTEN

据我了解,我现在应该可以使用 docker 机器的 IP 地址 (192.168.99.100) 以及端口号 (5432) 访问它。然而,这似乎没有用。

然后我尝试将端口添加到 vm 的端口转发中,来宾和主机端口均为 5432,并将主机和来宾的 IP 留空。但是还是访问不了

我试过数据库连接的主机是localhost和192.168.99.100,都没有。

我可以通过 ping 和 ssh 连接到 192.168.99.100。

我已经尝试过全新安装,将其关闭然后重新打开,以及我看到的针对类似问题建议的无数其他解决方案,但似乎没有任何效果。


这也不仅限于此 postreg 数据库,似乎无法从主机访问默认机器容器中托管的任何内容。我也尝试过容器中的 Web 服务器,但没有成功(我没有尝试过其他任何东西,因为那超出了我的知识范围)

您尝试如何访问 Postgres 容器? 如果您尝试通过在网络浏览器中输入 http://192.168.99.100:5432 来使用 HTTP 访问它;它可能无法正常工作,因为可能没有网络服务器在您正在使用的 postgres 图像上侦听 HTTP 请求。

您能否尝试 运行 docker run -p 8080:80 nginx 然后在网络浏览器中访问 http://192.168.99.100:8080。还要通过 运行 docker-machine ip <name-of-machine> 确保这是正确的 IP 地址 - 只是为了确保...