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

问题是,当试图启动地铁捆绑,url http://localhost:19002是无法访问的。这在运行perfectly.Besides的端口19001中没有发生,我试着用我的iPhone设备扫描QR代码,但两者都不起作用,因为我想是找不到端口ip。
我不知道我做错了什么,而且网上也没有那么多关于码头博览会的信息。
这些是我的dockerfile和docker-come.yml
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 startversion: '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发布于 2020-01-08 06:53:17
合乎道理。世博DevTools告诉您,它正在您的容器中的localhost上运行。
这意味着在您的容器中,世博DevTools只对localhost可用。这反过来也只能从容器本身中获得。没有端口暴露会对你有帮助。您需要以允许外部访问的方式设置端口绑定。例如,通过容器的IP来允许公开语句工作。
简而言之,添加EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0环境变量如下所示
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,你应该会没事的。
发布于 2021-09-20 15:07:37
要修复浏览器中先前的响应中提到的黑色背景屏幕,必须添加REACT_NATIVE_PACKAGER_HOSTNAME环境变量并将其设置为计算机的本地IP地址。然后,不要导航到博览开发工具的localhost:19002或0.0.0.0:19002,而是导航到<<HOST LOCAL IP>>:19002 (当然,用您各自的IP替换),您应该可以看到DevTools正常工作。这个页面上的QR代码应该将你的应用程序加载到ExpoGo上的address <<HOST LOCAL IP>>:19000。
您的docker-compose.yml现在应该如下所示:
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>>>发布于 2021-05-01 11:24:12
对此我可能为时已晚,但我想出了一个解决办法,一旦您实现了@ckaserer给出的解决方案,您就可以登录到http://0.0.0.0:19002,并在连接部分选择Tunnel而不是LAN,如下所示,并在支付宝应用程序上运行您的应用程序,这样就可以了。

https://stackoverflow.com/questions/59638451
复制相似问题