Docker容器访问宿主机服务

Uiaoin 2022-09-19 3868

问题:docker容器内请求127.0.0.1或者localhost,会请求到容器本身的网络,而无法抵达宿主机。在以往,需要各位去手动寻找docker创建的docker0 bridge来访问宿主机网络,但在今天,docker已经提供了非常优雅的解决办法了。

Linux:(Docker版本须高于v20.10)

在启动docker run时,加入如下语句

--add-host=host.docker.internal:host-gateway

容器内可以直接请求host.docker.internal:PORT,来获取宿主机上提供的各种服务

Docker Compose配置:

extra_hosts: 
  - host.docker.internal:host-gateway

Mac和Windows:(Docker版本须高于v18.03)

直接在容器内使用host.docker.internal:PORT来访问宿主机服务即可

加载更多