您的问题很可能是您使用的是dockertool@R_502_2419@或dhingy / dlite或提供 其他任何东西,然后托管docker 在此VM中运行您的容器。当然,该VM在主机上拥有自己的网络堆栈和IP,这就是您的工具所遇到的问题。容器的裸露端口不是暴露在外OSX host localhost
,而是暴露在外OSX Docker-VM-ip
。
优雅地解决这些问题
您实际上并没有真正导出任何东西,而是希望它们可以从所有容器(OSX-host-localhost的所有端口)作为整体进行访问。
如果要 到 的OSX主机上提供的端口,例如在xdebug会话期间,IDE 上的端口9000 侦听,运行FPM / PHP的容器应 到此端口在Mac上为osx- localhost:9000,您需要执行以下操作:https ://gist.github.com/EugenMayer/3019516e5a3b3a01b6eac88190327e7c
因此,您创建了一个虚拟回送ip,因此您可以使用10.254.254.254:9000从不带容器的情况下访问OSX主机端口- 这是可移植的,并且基本上为您提供了像以前那样开发所需的一切
因此,您可以连接到在Mac上运行并尝试连接到localhost:port的应用程序的容器暴露端口
第二个相反,如果容器中的某些东西想要连接到主机上的端口。