webpack和react jsx-热加载不适用于docker容器

webpack和react jsx-热加载不适用于docker容器,docker,reactjs,webpack,webpack-dev-server,Docker,Reactjs,Webpack,Webpack Dev Server,更改为:热加载在docker中不起作用,看起来这是docker的问题 下面这个:或者在本地主机上,它们工作正常,对我来说,它们工作相同-我仍然不明白你为什么要安装 但是在容器中运行它,更新/“热加载”在任何容器中都不起作用。这可能是一个docker专家的问题?我找到了一个解决办法;我有一个反向代理(nginx)在容器中运行。代理通过端口转发回我的主主机(Mac)。这给了我热加载,最重要的是,我没有跨域问题,因为我的数据库运行在另一个容器中。如果您只是想在mac上使用Docker寻找合适的文件监视

更改为:热加载在docker中不起作用,看起来这是docker的问题

下面这个:或者在本地主机上,它们工作正常,对我来说,它们工作相同-我仍然不明白你为什么要安装


但是在容器中运行它,更新/“热加载”在任何容器中都不起作用。这可能是一个docker专家的问题?

我找到了一个解决办法;我有一个反向代理(nginx)在容器中运行。代理通过端口转发回我的主主机(Mac)。这给了我热加载,最重要的是,我没有跨域问题,因为我的数据库运行在另一个容器中。

如果您只是想在mac上使用Docker寻找合适的文件监视解决方案,请查看。它在后台使用boot2docker,但增加了rsync支持。我试过了,它对文件更改非常有效。

您可以这样做:

watchOptions: {
    poll: true
}

或者,在
package.json
中,代替
--watch
do
--watch--watch poll

你的webpack.config看起来怎么样?你是在使用虚拟机还是类似于vagrant的东西?更新了包括web pack.config和package.son在内的问题:我在一个容器中运行这个。你确实需要配置
react hot loader
来使用react组件的热加载。请参阅。React还是仅针对jsx文件?请参阅更新。是的,我没有与docker进行过太多的合作,尽管我在使用vagrant时遇到了相同的问题-在我的情况下,这是来宾和主机之间共享文件夹的问题-我最终使用了一种称为rsync的方法来解决此问题-也许有一种docker等价物?Hi@chris-g,你能详细说明一下你的解决方案吗?无法运行热模块更换。差不多一年过去了,你今天是如何处理这个问题的?我仍然在使用同样的解决方案。你知道如何使用nginx和反向代理吗?我知道一点,在一个容器中使用php-fpm,在另一个容器中使用nginx来服务传入的请求。我相信nginx被用作反向代理。在热模块更换/网页包的情况下,您能提供一些关于这样做的基本原理的更多信息吗?我不在我的计算机上(在iPhone上),但我用-host参数启动容器(带有反向代理的nginx)。然后在主机上进行所有正常设置。希望我能帮忙。我稍后再写信。如果你让它工作,请告诉我。事实上,我正在使用dockercloud/haproxy“反向代理”。我确实设置了一个虚拟主机,使该应用程序在“myapp.dev”下可用。但是,热模块更换仍然不起作用。我通过babel预设react hmre包启用HMR。HMR重新加载在Docker外部有效,但在Docker内部无效。有什么想法吗,我还能试试吗?问题是virtualbox文件同步问题。我仍然不知道如何避开它。