问题:docker容器内请求127.0.0.1或者localhost,会请求到容器本身的网络,而无法抵达宿主机。在以往,需要各位去手动寻找docker创建的docker0 bridge来访问宿主机网络,但在今天,docker已经提供了非常优雅的解决办法了。
在启动docker run时,加入如下语句
--add-host=host.docker.internal:host-gateway
容器内可以直接请求host.docker.internal:PORT,来获取宿主机上提供的各种服务
Docker Compose配置:
extra_hosts:
- host.docker.internal:host-gateway
直接在容器内使用host.docker.internal:PORT来访问宿主机服务即可