运行 docker 容器中的 React Native / Expo 不热重载
Running React Native / Expo in docker container not hot reloading
我正在尝试在 docker 容器中设置我的 Expo / React Native 来测试它。其中一些似乎有效,Expo Developer Tools 加载到我的本地机器上,但是当我编辑 App.js 时,它不会更新应用程序。我已经安装了chokidar,但是好像也没用。
我的Docker文件如下;
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -yq curl && \
curl -fsSL https://deb.nodesource.com/setup_14.x | bash - && \
apt-get install -y nodejs
COPY . /home/
WORKDIR /home
RUN npm install && npm install chokidar && npm install -g expo-cli && npm i -g yarn
CMD [ "npm", "start" ]
我的 docker-compose.yml 看起来是这样;
version: "3.8"
services:
expo_app:
container_name: expo_app
build: .
ports:
- 19000:19000
- 19001:19001
- 19002:19002
environment:
- EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0
- CHOKIDAR_USEPOLLING=true
volumes:
- .:/usr/src/app
我 运行 全部使用 docker-compose up -d
...启动后,我可以看到 Expo Develop Tools,但编辑文件不起作用。
有没有人在运行这个堆栈中取得任何成功并解决了所有问题?
当你运行容器时,你将当前目录挂载到/usr/src/app,但容器中的workdir是/home。
通过将 docker-compose 文件更改为
来将挂载点更改为 /home
version: "3.8"
services:
expo_app:
container_name: expo_app
build: .
ports:
- 19000:19000
- 19001:19001
- 19002:19002
environment:
- EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0
- CHOKIDAR_USEPOLLING=true
volumes:
- .:/home
我正在尝试在 docker 容器中设置我的 Expo / React Native 来测试它。其中一些似乎有效,Expo Developer Tools 加载到我的本地机器上,但是当我编辑 App.js 时,它不会更新应用程序。我已经安装了chokidar,但是好像也没用。
我的Docker文件如下;
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -yq curl && \
curl -fsSL https://deb.nodesource.com/setup_14.x | bash - && \
apt-get install -y nodejs
COPY . /home/
WORKDIR /home
RUN npm install && npm install chokidar && npm install -g expo-cli && npm i -g yarn
CMD [ "npm", "start" ]
我的 docker-compose.yml 看起来是这样;
version: "3.8"
services:
expo_app:
container_name: expo_app
build: .
ports:
- 19000:19000
- 19001:19001
- 19002:19002
environment:
- EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0
- CHOKIDAR_USEPOLLING=true
volumes:
- .:/usr/src/app
我 运行 全部使用 docker-compose up -d
...启动后,我可以看到 Expo Develop Tools,但编辑文件不起作用。
有没有人在运行这个堆栈中取得任何成功并解决了所有问题?
当你运行容器时,你将当前目录挂载到/usr/src/app,但容器中的workdir是/home。
通过将 docker-compose 文件更改为
来将挂载点更改为 /homeversion: "3.8"
services:
expo_app:
container_name: expo_app
build: .
ports:
- 19000:19000
- 19001:19001
- 19002:19002
environment:
- EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0
- CHOKIDAR_USEPOLLING=true
volumes:
- .:/home