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

我试图在Windows 10(Linux容器模式)上运行Docker来运行反应开发工作区。 我设法运行React应用程序样板但livereloading不起作用。

这里有一些细节:

  1. Dockerfile暴露5000和35729端口
  2. 文件通过docker execcreate-react-app .在容器中安装和创buildcreate-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 
  1. 构build命令: docker build . -t react-image 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

OUTPUT:

编译成功!

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

本地: http:// localhost:3000 /在您的networking上: http://172.17.0.2:3000/

请注意开发版本没有优化。 要创build生产版本,请使用纱线生成。

一旦我打开: http:// localhost:3000一切似乎工作正常。 如果我从主机中更改文件,那么文件也会在容器内发生更改(用cat App.js检查)。 但更改文件不会触发webpack重新编译和livereload。

有什么build议么?

请让我知道,如果我需要提供更多的细节。 谢谢

这可以通过设置watchOptions.poll来解决在webpackconfiguration里面的true: 引用