【发布时间】:2018-06-07 09:39:21
【问题描述】:
我正在尝试在 Windows 10(Linux 容器模式)上运行 docker 来运行反应开发工作区。我设法运行了 React 应用程序样板,但 livereloading 不起作用。
这里有一些细节:
- Dockerfile 暴露了 5000 和 35729 端口
- 文件通过
docker exec和create-react-app .命令在容器内挂载和创建 - WS 请求状态为 101(没错)
Dockerfile:
FROM node:latest
#installing react app first
RUN npm install -g create-react-app
VOLUME [ "/application" ]
#First example was EXPOSE 3000 35729
EXPOSE 3000
EXPOSE 35729
构建命令:
docker build . -t react-image运行命令:
docker run -d -p 3000:3000 -p 35729:35729 -v %PATH_TO_APP_FOLDER%\application:/application --name react-container react-image执行命令:
docker exec -it react-container bash
然后在容器内:
cd applicationcreate-react-app .yarn start
输出:
编译成功!
您现在可以在浏览器中查看应用程序。
本地:http://localhost:3000/ 在您的网络上: http://172.17.0.2:3000/
请注意,开发版本未优化。创建一个 生产构建,使用纱线构建。
打开后:http://localhost:3000 一切似乎都正常。如果我从主机更改文件,则容器内的文件也会更改(使用cat App.js 检查)。但是更改文件不会触发 webpack 重新编译和 livereload。
有什么建议吗?
如果我需要提供更多详细信息,请告诉我。谢谢
【问题讨论】:
标签: reactjs docker create-react-app