Docker for Mac – 极慢的请求时间

  • 我的.dockerignore设置为忽略繁忙的目录,但是修改单个文件似乎对运行性能有很大的影响。

  • 如果我更改原始目录中的一个非依赖文件(例如.php.jpg ),则下一个请求的执行速度非常慢。

  • 随后的请求很快,直到我改变了原始目录中的任何文件,然后请求时间返回到〜10秒。
  • 无论是:cached:delegated有所作为

无论如何加快这一点? 考虑到只有一个文件已被更改,Docker似乎在后台做了很多事情?

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明 在这里输入图像说明

.dockerignore文件不影响卷装入。 它仅在图像构build期间向Docker守护程序发送上下文时使用。 所以这不是一个因素。

在某些情况下performance不佳是Docker for Mac中长期存在的已知问题。 他们在文档中讨论这个主题。 根据我的经验,fs事件扫描程序发生的性能最差,即您正在观察某个目录的更改并重新加载应用程序服务器。 我的处理方式是禁用fs事件监视器,并在需要时手动重新启动应用服务器。 (可能会或者可能不适合您的情况。)

简单的答案是你可以尝试第三方的解决scheme,或者你可以接受在开发中的糟糕performance,意识到它不会跟随你的产品(这可能不会在Mac平台上)。

我遇到了类似的问题,但在Windows上。 我得到的方式是使用stream浪汉。 Vagrant对使用Docker进行configuration有很大的支持。 在你的Vagrantfile设置共享目录来使用rsync。 这将复制VM上的目录。 Docker可以在虚拟机的内存中快速访问这些目录。

这是一篇很棒的文章,帮助我得出这个结论: http : //blog.zenika.com/2014/10/07/setting-up-a-development-environment-using-docker-and-vagrant/

有关使用docker供应vagrant的更多信息: https : //www.vagrantup.com/docs/provisioning/docker.html

有关vagrant rsync的更多信息: https : //www.vagrantup.com/docs/synced-folders/rsync.html

我希望这可以帮助你和我一样。