在Windows上使用Docker创建反应应用程序li​​vereload

pew*_*oll 5 docker reactjs create-react-app

我正在尝试在Windows 10(Linux容器模式)上运行docker以运行react开发工作区。我设法运行React应用样板,但是livereloading无法正常工作。

以下是一些详细信息:

  1. Dockerfile公开了5000和35729端口
  2. 通过docker execcreate-react-app .命令在容器内部安装和创建文件
  3. 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
Run Code Online (Sandbox Code Playgroud)
  1. 生成命令: docker build . -t react-image

  2. 运行命令: docker run -d -p 3000:3000 -p 35729:35729 -v %PATH_TO_APP_FOLDER%\application:/application --name react-container react-image

  3. 执行命令: docker exec -it react-container bash

然后在容器内:

  • cd application
  • create-react-app .
  • yarn start

输出:

编译成功!

您现在可以在浏览器中查看应用程序。

本地: HTTP://本地主机:3000 / 您的网络: http://172.17.0.2:3000/

请注意,开发版本尚未优化。要创建生产版本,请使用纱线版本。

一旦我打开:http:// localhost:3000一切似乎都可以正常工作。如果我从主机上更改文件,则容器内的文件也会更改(已选中cat App.js)。但是更改文件不会触发webpack重新编译和livereload。

有什么建议么?

如果需要提供更多详细信息,请告诉我。谢谢

pew*_*oll 2

watchOptions.poll这可以通过在 webpack 配置中 设置为 true 来解决:参考资料