2017-07-19 268 views
0
  • 我的.dockerignore设置为忽略繁忙目录,但更改单个文件似乎对运行性能有巨大影响。适用于Mac的Docker - 极慢的请求时间

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

  • 后续请求很快,直到我改变原始目录中的任何文件,然后请求时间返回到〜10s。
  • 无论是:cached:delegated任何区别

反正是有加快这?考虑到只有一个文件已被更改,Docker似乎在后台做了很多事情?

enter image description here

enter image description here

enter image description here enter image description here

回答

0

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

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

简而言之,您可以尝试第三方解决方案,或者您可以接受开发中的糟糕表现,意识到它不会跟随您进行生产(这是可能不会在Mac平台上)。

0

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

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

使用泊坞窗供应无业游民的更多信息:https://www.vagrantup.com/docs/synced-folders/rsync.html

我希望这有助于:对流浪汉rsync的https://www.vagrantup.com/docs/provisioning/docker.html

更多信息你和我一样。