在生产环境下难免会在容器内访问宿主服务,此时只需要使用host.docker.internal即可,如ping host.docker.internal输出如下
PING host.docker.internal (192.168.65.2): 56 data bytes
64 bytes from 192.168.65.2: seq=0 ttl=37 time=1.013 ms
64 bytes from 192.168.65.2: seq=1 ttl=37 time=3.942 ms
64 bytes from 192.168.65.2: seq=2 ttl=37 time=4.482 ms
64 bytes from 192.168.65.2: seq=3 ttl=37 time=4.490 ms
64 bytes from 192.168.65.2: seq=4 ttl=37 time=3.855 ms
64 bytes from 192.168.65.2: seq=5 ttl=37 time=3.798 ms
64 bytes from 192.168.65.2: seq=6 ttl=37 time=4.037 ms
64 bytes from 192.168.65.2: seq=7 ttl=37 time=4.214 ms
64 bytes from 192.168.65.2: seq=8 ttl=37 time=3.870 ms
64 bytes from 192.168.65.2: seq=9 ttl=37 time=3.823 ms
64 bytes from 192.168.65.2: seq=10 ttl=37 time=3.860 ms
可以看到
192.168.65.2即为宿主ip
注意 :如果你的docker是docker desktop此时输出的并不是你电脑的本机ip,因为docker desktop还是依赖虚拟机,因此输出的只是虚拟机的ip
在生产环境中,当需要从Docker容器内部访问宿主机的服务时,可以使用'host.docker.internal'这个特殊的DNS名称。示例中通过ping命令展示了其响应,显示的192.168.65.2即为宿主机的IP地址。需要注意的是,如果使用Docker Desktop,由于其依赖虚拟机,实际IP会是虚拟机的IP而非本地主机IP。
3335

被折叠的 条评论
为什么被折叠?



