Mac上Docker PostgreSQL容器,Windows 11 Parallels VM应访问哪个IP?
解决Parallels虚拟机访问Mac主机Docker PostgreSQL的问题
- 别用Docker内部IP或者虚拟机的localhost,直接用Mac主机在Parallels虚拟网络中的IP就行,具体步骤如下:
获取Mac主机的Parallels网络IP
- 打开Mac终端,输入
ifconfig,找到vnic0(Parallels共享网络对应的网卡),查看inet字段后的IP,比如10.211.55.2。如果没找到vnic0,查看en0的IP也可以,共享模式下两者通常处于同一网段。 - 或者打开Parallels的虚拟机设置→网络,查看当前网络模式(一般为“共享”),虚拟机的IP会显示在此处,Mac主机的IP就是同网段的网关地址(比如虚拟机IP是10.211.55.3,网关就是10.211.55.1)。
- 打开Mac终端,输入
确认Docker端口映射正确
- 运行
docker ps,查看PostgreSQL容器的PORTS列,确保显示为0.0.0.0:5432->5432/tcp(PostgreSQL默认端口为5432),这表示容器端口已经映射到Mac主机的所有网卡上。如果部署时没添加-p 5432:5432参数,重新启动容器并加上该参数即可。
- 运行
虚拟机中连接数据库
- 在Windows 11虚拟机里,用刚才找到的Mac主机IP+端口(比如
10.211.55.2:5432)作为数据库的连接地址,输入对应的用户名和密码就能正常访问。
- 在Windows 11虚拟机里,用刚才找到的Mac主机IP+端口(比如
排查防火墙问题
- 如果连接失败,检查Mac的防火墙:打开系统设置→网络→防火墙,确保允许Docker应用的入站请求,或者手动开放5432端口的入站连接。
补充说明:Docker内部IP是容器在Mac本地虚拟网络中的地址,和Parallels的虚拟机网络不互通,所以虚拟机无法访问,不用尝试这个方向。
内容的提问来源于stack exchange,提问作者Richard Haley
相关产品推荐
相关产品推荐

