如何让Mac上的Docker容器可被同局域网其他PC访问
解决方法
1. 修改docker-compose中app1的ports配置
当前ports里的127.0.0.1:81:80有两个限制:一是仅绑定本地回环地址,其他设备无法连通;二是主机对外暴露的是81端口,和你想要的80端口不符。
要实现需求,直接把这行改成:
ports: - "80:80"
这种配置会让Docker把主机所有网卡(包括局域网网卡)的80端口,映射到容器内部的80端口,其他PC就能通过http://<你的主机LAN IP>:80访问app1。
要是主机的80端口已经被其他服务占用,也可以换个未被使用的端口,比如8080:
ports: - "8080:80"
此时其他PC访问地址就变成http://<你的主机LAN IP>:8080。
2. 重启容器生效配置
修改完docker-compose.yml后,执行以下命令重启容器:
docker-compose down docker-compose up -d
3. 检查主机防火墙设置
如果其他PC还是连不上,得确认主机防火墙是否放行对应端口的入站请求:
- Linux主机:检查ufw、firewalld等防火墙工具,确保开放了目标端口
- Windows主机:在Windows Defender防火墙中添加允许该端口的入站规则
内容的提问来源于stack exchange,提问作者Edward Sun
相关产品推荐
相关产品推荐

