情况1
- linux 使用宿主机的网络地址 使用172.17.0.1(Docker默认桥接网络的网关地址)
- Windows或Mac,使用实际的IP地址或特定的地址(如host.docker.internal)
情况2
如果docker版本比较低,可以使用
docker run --add-host=host.docker.internal:host-gateway
对于 docker-compose.yml
services:
your-service:
extra_hosts:
- "host.docker.internal:host-gateway"
如果无法识别 host-gateway,改为宿主机host
--add-host=host.docker.internal:<宿主机IP> ...
如果访问宿主机无法识别 host.docker.internal
报错
got error dial tcp: lookup host.docker.internal on 127.0.0.11:53: no such host
宿主机手动添加host
127.0.0.1 host.docker.internal
终极大招
修改宿主机防火墙规则,增加ip来源
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3399" protocol="tcp" accept'
sudo firewall-cmd --reload