首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有世博对接应用程序的城域包不起作用

带有世博对接应用程序的城域包不起作用
EN

Stack Overflow用户
提问于 2020-01-08 01:58:38
回答 3查看 3.1K关注 0票数 10

我正在尝试修改一个世博会反应本地应用程序,这样我团队的任何合作伙伴都可以下载回购程序,然后制作一个docker-compose up,并且不费吹灰之力就能在他们的计算机上运行相同的博览服务器。

尽我所能构建这个容器,当我在我的计算机上本地运行它时,它会显示同样的信息。

问题是,当试图启动地铁捆绑,url http://localhost:19002是无法访问的。这在运行perfectly.Besides的端口19001中没有发生,我试着用我的iPhone设备扫描QR代码,但两者都不起作用,因为我想是找不到端口ip。

我不知道我做错了什么,而且网上也没有那么多关于码头博览会的信息。

这些是我的dockerfile和docker-come.yml

代码语言:javascript
复制
FROM node:latest

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY package*.json /usr/src/app/
COPY app.json /usr/src/app/

RUN npm install -g expo-cli

EXPOSE 19000
EXPOSE 19001
EXPOSE 19002

CMD npm i -f && npm start
代码语言:javascript
复制
version: '3.7' # Specify docker-compose version

# Define the services/containers to be run
services:
   expo: # Name of the frontend service
      container_name: expo-prestadores
      build: ./ # Specify the directory of the Dockerfile
      ports:
         - 19000:19000 # Specify port-forwarding
         - 19001:19001
         - 19002:19002
      volumes: # Mount host path in the container
         - ./:/usr/src/app
         - /usr/src/app/node_modules
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-08 06:53:17

合乎道理。世博DevTools告诉您,它正在您的容器中的localhost上运行。

这意味着在您的容器中,世博DevTools只对localhost可用。这反过来也只能从容器本身中获得。没有端口暴露会对你有帮助。您需要以允许外部访问的方式设置端口绑定。例如,通过容器的IP来允许公开语句工作。

简而言之,添加EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0环境变量如下所示

代码语言:javascript
复制
version: '3.7' # Specify docker-compose version
services:
   expo: # Name of the frontend service
      container_name: expo-prestadores
      build: ./ # Specify the directory of the Dockerfile
      ports:
         - 19000:19000 # Specify port-forwarding
         - 19001:19001
         - 19002:19002
      volumes: # Mount host path in the container
         - ./:/usr/src/app
         - /usr/src/app/node_modules
      environment:
         - EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0 

去你的docker-compose.yml,你应该会没事的。

票数 9
EN

Stack Overflow用户

发布于 2021-09-20 15:07:37

要修复浏览器中先前的响应中提到的黑色背景屏幕,必须添加REACT_NATIVE_PACKAGER_HOSTNAME环境变量并将其设置为计算机的本地IP地址。然后,不要导航到博览开发工具的localhost:190020.0.0.0:19002,而是导航到<<HOST LOCAL IP>>:19002 (当然,用您各自的IP替换),您应该可以看到DevTools正常工作。这个页面上的QR代码应该将你的应用程序加载到ExpoGo上的address <<HOST LOCAL IP>>:19000

您的docker-compose.yml现在应该如下所示:

代码语言:javascript
复制
version: '3.7' # Specify docker-compose version
services:
   expo: # Name of the frontend service
      container_name: expo-prestadores
      build: ./ # Specify the directory of the Dockerfile
      ports:
         - 19000:19000 # Specify port-forwarding
         - 19001:19001
         - 19002:19002
      volumes: # Mount host path in the container
         - ./:/usr/src/app
         - /usr/src/app/node_modules
      environment:
         - EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0 
         - REACT_NATIVE_PACKAGER_HOSTNAME=<<HOST LOCAL IP>>>
票数 6
EN

Stack Overflow用户

发布于 2021-05-01 11:24:12

对此我可能为时已晚,但我想出了一个解决办法,一旦您实现了@ckaserer给出的解决方案,您就可以登录到http://0.0.0.0:19002,并在连接部分选择Tunnel而不是LAN,如下所示,并在支付宝应用程序上运行您的应用程序,这样就可以了。

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

https://stackoverflow.com/questions/59638451

复制
相关文章

相似问题

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