4

Docker 在 Windows 10 上非常慢。我执行了很多任务以使索引不在文件夹上运行,并试图加快速度。该进程似乎占用了 100% 的 CPU,这很好,但也占用了 100% 以上的磁盘 IO,这是一个巨大的瓶颈。在 linux 或 mac 上运行不到 10 秒的任务在 Windows 上需要 40 分钟以上才能完成。

这根本无法以任何有意义的方式使用。docker-compose 坚持将 150MB/s 写入磁盘而不是使用 ram 是否有原因?我有很多公羊。我实际上可以将整个 docker-container 系统存储在 ram 中,并且剩余大约 10GB。

顺便说一句,虽然坚持 docker 只在 Linux 上运行服务器是可行的,但开发必须支持 windows、linux 和 mac。我不敢相信测试并没有显示 Windows 10 支持严重缺乏,不,关闭防病毒绝对不是一种选择。许多 docker 开发人员没有这样做的适当权限,建议 docker 用户禁用防病毒是一个令人难以置信的请求。另外,禁用杀毒之类的仍然无法回答为什么 docker 会占用 100% 的磁盘 IO。

4

3 回答 3

2

我最近使用 Hyper-V 更新到 Docker Desktop for Windows 3.0.0 时遇到了同样的问题。

我的解决方案是增加 VM 可用的资源(设置 -> 资源 -> 高级)。我增加了 CPU(从 2 到 4)、内存(1GB 到 6GB)、交换(1GB 到 2GB)和磁盘空间(64GB 到 128GB)的数量。从那以后我就没有遇到过 100% 的磁盘使用问题。

于 2020-12-17T23:24:46.560 回答
0

我在 Windows 10 上遇到了这个问题,条件如下:

  1. 启动 Jenkins 容器。
  2. 从 Jenkins 上的 Git 存储库为项目设置 Maven 构建。
  3. 运行构建。

构建完成就好了。

  1. 使用 Sonarqube 启动第二个容器。
  2. 向 Jenkins 添加步骤以执行声纳分析并运行构建。

Jenkins 构建在一段时间后挂起,磁盘使用率 99-100%,CPU 很好。Docker 不响应任何控制台命令。

不得不重新启动 Docker 来解决这个问题。

于 2020-07-04T16:12:20.430 回答
0

所以最近我遇到了同样的问题。我将 Docker 与 DDEV 一起用于 Drupal 开发环境。跑步composer require drupal/something需要很多小时才能完成。我尝试了为什么 PHP Composer 这么慢?. 具体来说,运行和使用composer global require hirak/prestissimo. 至少这实际上运行了。这是有希望的。然而,它并没有解决问题。我尝试按照 Spiceworks 的建议卸载重新安装的 DDEV 和 Docker :Windows 的 Docker 在 win 10 in-place update 后达到 100% 磁盘使用率。这也没有奏效。我决定尝试ddev composer install在容器外而不是composer install在容器内。Composer 给了我错误:This host computer is unable to create real symlinks, please see the docs to enable developer mode:打开了Windows 开发模式,并且 Composer 开始正常工作。

解决方案: 打开windows开发者模式,这样系统链接就可以使用了。

希望这对大家有帮助!

于 2020-02-19T18:28:23.103 回答