首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flutter无法连接到docker localhost解析服务器。

Flutter无法连接到docker localhost解析服务器。
EN

Stack Overflow用户
提问于 2022-03-02 15:25:13
回答 1查看 315关注 0票数 0

我试图通过下面的docker-compose.yml运行解析服务器和解析仪表板

docker-compose:

代码语言:javascript
运行
复制
version: '3.9'

services:
  database:
    image: mongo:5.0
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
    volumes:
      - data_volume:/data/mongodb

  server:
    restart: always
    image: parseplatform/parse-server:4.10.4
    ports:
      - 1337:1337
    environment:
      - PARSE_SERVER_APPLICATION_ID=COOK_APP
      - PARSE_SERVER_MASTER_KEY=MASTER_KEY_1
      - PARSE_SERVER_CLIENT_KEY=CLIENT_KEY_1
      - PARSE_SERVER_DATABASE_URI=mongodb://admin:admin@mongo/parse_server?authSource=admin
      - PARSE_ENABLE_CLOUD_CODE=yes
    links:
      - database:mongo
    volumes:
      - data_volume:/data/server
      - ./../lib/core/database/parse_server/cloud:/parse-server/cloud

  dashboard:
    image: parseplatform/parse-dashboard:4.0.0
    ports:
      - "4040:4040"
    depends_on:
      - server
    restart: always
    environment:
      - PARSE_DASHBOARD_APP_ID=COOK_APP
      - PARSE_DASHBOARD_MASTER_KEY=MASTER_KEY_1
      - PARSE_DASHBOARD_USER_ID=admin
      - PARSE_DASHBOARD_USER_PASSWORD=admin
      - PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=true
      - PARSE_DASHBOARD_SERVER_URL=http://localhost:1337/parse
    volumes:
      - data_volume:/data/dashboard

volumes:
  data_volume:
    driver: local

在容器通过docker-compose up运行之后,我尝试使用颤振连接到它,并将一个新类写入我的服务器:

颤振代码:

代码语言:javascript
运行
复制
import 'package:flutter/material.dart';
import 'package:parse_server_sdk_flutter/parse_server_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  const keyApplicationId = 'COOK_APP';
  const keyClientKey = 'CLIENT_KEY_1';
  const keyParseServerUrl = 'http://localhost:1337/parse';

  var res = await Parse().initialize(keyApplicationId, keyParseServerUrl,
      clientKey: keyClientKey, autoSendSessionId: true);
     
  var connRes = await res.healthCheck();
  var s = connRes.error?.message ?? "";
  print("ERROR:" + s);

  var firstObject = ParseObject('FirstClass')
    ..set(
        'message', 'Hey ! First message from Flutter. Parse is now connected');
  await firstObject.save();

  print('done');

}

我的错误信息:

代码语言:javascript
运行
复制
SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = localhost, port = 35262

但是由于一些未知的原因,我无法连接到我的本地服务器,即使我可以毫无问题地访问我的仪表板。

EN

回答 1

Stack Overflow用户

发布于 2022-04-20 17:31:11

在移动设备/模拟器上运行的应用程序将将本地主机视为自己的计算机。为了访问在主机上运行的解析服务器(显示0.0.0.0全局的docker映像),您需要指定主机IP地址。

只需将const keyParseServerUrl = 'http://localhost:1337/parse';替换为码头解析服务器中提供的const keyParseServerUrl = 'http://YOUR_HOST_IP_ADDRESS:1337/parse';,就应该公开0.0.0.0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71325177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档