【发布时间】:2020-07-07 18:34:50
【问题描述】:
在 macOS 上使用 docker (docker-compose)。当运行 Docker 容器并将 Visual Studio Code (VSCode) 附加到活动的应用程序容器时,它可能会使 hyperkit 进程变得疯狂:( MacBook 粉丝必须全速前进以试图降低温度。
在 python 文件上使用 VSCode 时,我注意到导致扫描/解析文件的操作(例如由 pylint 执行的操作)会将 hyperkit CPU 使用率增加到最大值,并且 MacBook 粉丝会全速运行 :(。Hyperkit CPU当 pylint 的动作完成后,使用量再次下降。
当使用 VSCode 调试我的 Django Python 应用程序时,hyperkit CPU 使用率再次达到最大值。当主动调试时,hyperkit 会变得疯狂,但之后它会再次稳定下来。
我目前正在将“绑定挂载”切换为“卷挂载”,我想我看到了一些改进,但还没有做足够的测试来得出任何结论。我只是将我的源代码切换为使用“volume mount”而不是“bind mount”,并且将对我的静态文件和数据库执行相同的操作,看看这是否会带来改进。
您可以在 Docker 卷上查看此 stackoverflow post,了解有关该主题的更多信息。 这是我发现的有关此问题的一些帖子: https://code.visualstudio.com/docs/remote/containers?origin_team=TJ8BCJSSG https://github.com/docker/for-mac/issues/1759
关于如何控制 hyperkit 进程的任何其他想法❓
[3 月 27 日更新] Docker 调试模式设置为 TRUE 我已将其更改为 FALSE,但我没有看到任何重大改进。
[3 月 27 日更新] 对我的源代码 (app) 文件夹使用“委托”选项,第一印象是积极的。我看到了显着的性能改进,我们必须看看它是否持续???? FYI Docker docu on delegated:容器的视图是权威的(在容器更新出现在主机之前允许延迟)
[3 月 27 日更新] 我还减少了 Docker 桌面可以使用的 CPU 内核数量(设置->高级)。希望这可以防止 CPU 过热。
【问题讨论】:
-
你有在 Docker 中运行你的应用程序吗?在 MacOS 主机上,您甚至不需要专门安装 Python;我有一个
/usr/bin/python3,对于普通开发来说应该可以正常工作。 -
我知道并且知道。但是,我想保持我的 MacOS 干净,并为我将从事的每个项目包含环境。虚拟环境与 Python 配合得很好,但一个项目不仅仅是 Python 库:)。过去我使用过运行良好的 VMWare 虚拟机。另一个好处是,使用 docker,您可以拥有一个更接近生产环境的开发环境,我认为我们都有只出现在生产环境中的错误 :)。
-
对我的源代码 (app) 文件夹使用“委托”选项,第一印象是积极的。我看到了显着的性能改进,我们必须看看它是否持续???? FYI Docker docu on delegated:容器的视图是权威的(在容器更新出现在主机之前允许延迟)
-
我还减少了 Docker 桌面可以使用的 CPU 内核数量(设置->高级)。希望这可以防止 CPU 过热。最近的更改提高了性能,但我怀疑它会变得更好。
标签: python docker visual-studio-code docker-compose vscode-debugger