You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从局域网内其他电脑访问Docker Desktop中的容器?

解决跨设备访问Docker Desktop容器的方法

从你的容器运行状态来看,端口映射配置0.0.0.0:4200->4200/tcp是正确的,已经将容器的4200端口绑定到主机的所有网卡地址上。无法从电脑B访问,通常由以下几个原因导致,按顺序排查即可:

1. 检查主机A的防火墙设置

  • Windows系统:打开「Windows Defender 防火墙」→「高级设置」,添加入站规则,允许TCP协议的4200端口通过;也可临时关闭防火墙测试(测试完成后记得重新开启)。
  • macOS系统:打开「系统设置」→「网络」→「防火墙」,点击「选项」,确保允许Docker相关应用或4200端口的入站连接。
  • Linux系统:执行命令开放端口:
    sudo ufw allow 4200/tcp
    # 若使用iptables则执行
    sudo iptables -A INPUT -p tcp --dport 4200 -j ACCEPT
    

2. 确认两台电脑处于同一局域网

在电脑B上执行ping命令测试与主机A的连通性:

ping 192.168.1.18

如果ping不通,说明两台设备不在同一网段,或路由器设置了隔离,需调整网络配置确保它们处于同一个局域网内。

3. 验证Docker Desktop的网络设置(Windows/macOS专属)

  • Windows(WSL2后端):打开Docker Desktop设置→「Resources」→「Networking」,确保勾选「Allow the default Docker subnet to communicate with the host」;若仍有问题,可检查WSL2的网络是否能被主机局域网访问。
  • macOS:Docker Desktop默认使用桥接模式,若出现异常,可尝试重启Docker Desktop,或在设置中选择「Troubleshoot」→「Reset to factory defaults」重置网络(注意:此操作会清除现有容器,需提前备份)。

4. 测试主机A自身能否通过局域网IP访问

在主机A的浏览器中输入192.168.1.18:4200,如果无法访问,说明容器内的应用可能仅绑定了localhost而非0.0.0.0。此时需要检查容器内的应用配置,确保服务监听地址设置为0.0.0.0(比如Nginx配置、Node.js服务的listen参数等),而非仅监听127.0.0.1。

完成以上步骤后,在电脑B的浏览器中输入192.168.1.18:4200即可访问主机A上的Docker容器应用。

内容的提问来源于stack exchange,提问作者Albius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 15:50:16