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

Flutter真机连接Docker容器内API服务的配置问题求助

解决Flutter真机无法连接局域网Docker API服务的问题

1. 确认设备处于同一局域网

  • 手机必须连接与电脑相同的WiFi(禁止使用移动数据),若电脑为有线连接,需确保有线网络与WiFi处于同一网段
  • 直接用手机浏览器访问API地址:http://192.168.0.1:2323/test-server/api/v1/auth,如果无法打开,说明问题出在网络层面,而非Flutter代码

2. 检查电脑防火墙配置

  • 临时关闭电脑防火墙(仅用于测试),若能连接成功,需手动添加2323端口的入站规则,允许局域网设备访问
  • 注意:部分杀毒软件自带防火墙,需同步检查并放行该端口

3. 修正Docker端口映射

  • 执行docker ps查看容器端口映射状态,确保映射格式为0.0.0.0:2323->2323/tcp(允许所有IP访问),而非127.0.0.1:2323->2323/tcp(仅本地可访问)
  • 若映射错误,重新启动容器时指定正确的端口映射命令:
    docker run -p 0.0.0.0:2323:2323 [你的镜像名称/ID]
    

4. 配置Flutter应用的网络权限

Android端

在android/app/src/main/AndroidManifest.xml中添加网络权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

iOS端

在ios/Runner/Info.plist中添加HTTP请求允许配置(iOS默认拦截非HTTPS请求):

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

5. 验证电脑局域网IP的准确性

  • 重新获取电脑的局域网IP:Windows执行ipconfig,Mac/Linux执行ip addr或ifconfig,确认IP为局域网段(通常为192.168.x.x、10.x.x.x或172.16.x.x开头),不要使用127.0.0.1
  • 可在手机端ping电脑IP,验证网络连通性(Android用终端模拟器,iOS可借助第三方Ping工具)

6. 排查USB调试的代理问题

  • 检查手机WiFi设置中的代理选项,确保设置为无,避免USB调试自动添加的代理导致局域网IP无法访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:01:09