在运行Mac的Docker时,请访问本地网络上的设备



我在网络上有一些智能WiFi设备,可以从Mac上的脚本中看到。但是从Docker容器中运行相同的脚本这些设备不可见。

我假设这与Docker有关Mac无法使用--network hostnetwork_mode: host连接到主机网络。我还认为该问题在Linux机器上不存在,但我没有测试。

什么是解决方法?

编辑:

在Ubuntu VirtualBox内运行时,确认这很好,但是我真的不必在其中开发。

如果用网络选项作为主机启动容器,则容器将共享主机的网络堆栈。因此

docker run --network host ...

将容器添加到网络中将允许它们相互通信,但是如果要访问主机上运行的其他服务,则 host.docker.internal.internal (来自18.03 )。我必须在Mac Mini设置中执行相同的操作才能访问外部服务。[https://docs.docker.com/docker-for-mac/networking/]

如果您必须在另一个主机上访问服务,则可以在Docker主机上设置NGINX服务器和代理通行规则,以将其定向到远程服务。

最新更新