Mac localhost 可以访问 ip无法访问

mac环境下,我在本机起了一个node服务,可以通过http://localhost:8080访问

可是通过本机的ip访问就是无法访问

 

本机的防火墙已经处于关闭状态了

这是因为node web server启动时只绑定了loopback(127.0.0.1) 网卡,可以在node web应用中指定绑定的IP为(0.0.0.0),即绑定所有的网卡,也就可以通过所有的IP访问了(包括127.0.0.1,以及192.168.199.183)

然后就可以用ip访问了

 

### Docker Desktop 无法连接到主机解决方案 当遇到 Docker Desktop 无法连接到主机的情况时,这通常是因为容器与宿主机之间的网络通信存在问题。由于 Docker Desktop 实现网络的方式,在主机上看不到 `docker0` 接口,该接口实际位于虚拟机内部[^1]。 为了使容器能够访问宿主机的服务,可以采用以下几种方法: #### 方法一:使用特殊 IP 地址 在 Windows 和 Mac 上运行 Docker Desktop 时,可以通过特定的 IP 地址来访问宿主机服务。对于大多数情况而言,IP 地址为 `host.docker.internal` 可用于从容器内访问宿主机上的服务[^3]。 ```bash ping host.docker.internal ``` 此命令可以在容器终端执行以测试连通性。 #### 方法二:端口映射 另一种常见做法是利用端口转发机制。通过定义 `-p` 参数将容器内的端口暴露给外部世界并绑定至本地机器相应端口,从而间接实现了对宿主机资源的访问功能[^2]。 例如启动一个 Web 应用程序监听8080端口: ```bash docker run -d -p 8080:80 my_web_app_image ``` 此时可以直接在浏览器输入 http://localhost:8080 来查看应用界面。 #### 方法三:自定义桥接网络 创建一个新的用户定义网桥,并设置合适的子网掩码以及默认路由规则,使得新加入该网络下的各个成员之间均能互相发现彼此的存在。 ```bash docker network create --subnet=192.168.1.0/24 custom_bridge_network docker run -it --network=custom_bridge_network alpine ash ``` 以上措施有助于改善Docker Desktop环境下容器同宿主机间的交互体验,提高开发效率的同时也增强了系统的稳定性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值