【问题标题】:webpack-dev-server polling inside docker container - heavy CPU usagedocker 容器内的 webpack-dev-server 轮询 - 占用大量 CPU
【发布时间】:2018-01-04 22:48:04
【问题描述】:

我在 Docker 容器内运行 webpack-dev-server。出于开发目的,我有一个绑定到 Docker 容器的本地目录。据我了解,webpack 的标准“监视”功能在 Docker 中不起作用,或者至少在卷绑定到主机时不起作用。

但如果我打开轮询 (watchOptions.poll: true),Docker 容器会使用 lot 的 CPU。我可以将轮询时间降低到 1000 毫秒甚至 5000 毫秒,但这仍然使用不可忽略的 CPU 量,足以让我的笔记本电脑的风扇开始旋转。

关于通过轮询webpack-dev-server 限制 CPU 使用率是否有任何最佳做法?我可以在基于 Linux 的 Docker 容器中安装任何东西吗?我已经尝试安装最新的inotify-tools,但这似乎没有成功。

【问题讨论】:

  • 您的开发计算机上正在运行什么操作系统?由于文件系统抽象,这可能会产生重大影响。我假设 Mac 是因为你有这个问题,但值得澄清!

标签: docker webpack webpack-dev-server


【解决方案1】:

我使用的解决方案是docker-sync 实用程序。

它在容器中运行并使用 rsync 保持 Docker 卷同步。更新命中 Docker 的文件系统侦听器,因此您可以“观察”而不是“轮询”。

【讨论】:

    【解决方案2】:

    对于 windows 10 2004 和 docker desktop wsl2 后端,webpack-dev-server watch 在绑定到 wsl2 目录的 docker 容器卷内工作,但不起作用 卷绑定到 windows 目录。

    我使用带有远程容器扩展的 vscode。

    我通过 vscode 打开 \\wsl$\Ubuntu-18.04\home\... 并通过命令托盘“在容器中重新打开”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-28
      • 2016-02-01
      • 2022-06-24
      • 1970-01-01
      • 2018-04-29
      • 2020-06-14
      • 1970-01-01
      相关资源
      最近更新 更多