使用 --net=host
选项启动容器可以让容器共享主机的网络命名空间。这意味着容器内部可以直接使用主机的 IP 地址进行访问。但请注意,这种方式会破坏容器的隔离性,应该谨慎使用。
另一种方法是在启动容器时设置环境变量 HOST_IP
。在容器内部使用该变量来访问主机的 IP 地址。这样可以在不破坏容器隔离性的情况下访问主机 IP。
Docker 从 18.03 版本开始引入 host.docker.internal
域名,它可以解析到主机的 IP 地址。这是一个跨平台的解决方案,在 Windows、macOS 和 Linux 上都可以使用。
Docker 容器默认使用 Docker 网桥进行通信。可以通过访问网桥的 IP 地址来访问主机。在 Linux 上,网桥的 IP 地址通常是 172.17.0.1
。在 Windows 和 macOS 上,可以使用 docker.for.win.localhost
或 docker.for.mac.localhost
来访问。