Docker Desktop for Mac连接Mailhog容器SMTP端口1025超时如何解决
无法建立连接的核心原因
该问题完全由Docker Desktop for Mac的底层网络架构特性导致,和Mailhog服务本身配置无关:
- Docker Desktop for Mac运行在一个宿主系统不可见的轻量Linux虚拟机内,你获取到的
172.17.0.2是虚拟机内部Docker网桥分配的容器IP,该网段仅在虚拟机内部、容器之间可路由,Mac宿主机的网络栈没有对应路由规则,无法直接连通该网段的任意容器IP - 你可以正常访问Web UI,是因为启动容器时配置了
-p 8025:8025端口映射规则,Docker会自动在Mac宿主机上监听8025端口,将收到的流量转发到虚拟机内部对应容器的8025端口,你实际访问的是localhost:8025而非容器IP的8025端口
解决方法
不需要使用容器内部IP访问SMTP服务,直接走本地端口映射即可,将curl命令调整为:
curl smtp://localhost:1025 --mail-from a@b.com --mail-rcpt c@d.com
如果确实有从宿主机直接访问容器内部IP的需求,需要手动配置Mac到Docker虚拟机的静态路由,该操作复杂度较高,普通使用场景下走本地映射端口即可满足需求。
内容的提问来源于stack exchange,提问作者user12274258
相关产品推荐
相关产品推荐

