.dockerignore
被设置为忽略繁忙的目录,但是修改单个文件似乎会对运行性能产生巨大影响。.php
或.jpg
),那么下一个请求的性能就会非常慢。:cached
和:delegated
都不起任何作用还有什么可以加速的吗?似乎Docker在后台做了很多事情,考虑到只更改了一个文件?
发布于 2017-07-19 18:07:32
.dockerignore
文件不影响卷挂载。它仅用于在图像生成期间向Docker守护进程发送上下文时使用。所以这不是一个因素。
在某些情况下性能差是众所周知的一个长期问题在Docker。他们讨论这个话题,在文件中。在我的经验中,最糟糕的性能发生在fs事件扫描器上,即您正在监视某个目录中的更改并重新加载应用服务器以响应。我处理这一问题的方法是禁用fs事件监视程序,并在需要时手动重新启动应用服务器。(对你的情况来说可能是可行的,也可能是不现实的。)
简单地说,您可以尝试第三方解决方案,或者您可以接受开发中糟糕的性能,意识到它不会跟随您的生产(这可能不会出现在Mac平台上)。
发布于 2017-07-20 21:07:44
我遇到了一个类似的问题,但在Windows上。我绕过去的方法是利用流浪汉。流浪者对使用Docker提供了很好的支持。在Vagrantfile
中,设置使用rsync的共享目录。这将复制VM上的目录。Docker可以在VM上的内存中快速访问这些目录。
这是一篇伟大的文章,帮助我得出了这样的结论:http://blog.zenika.com/2014/10/07/setting-up-a-development-environment-using-docker-and-vagrant/
更多关于使用码头配置迷航器的信息:https://www.vagrantup.com/docs/provisioning/docker.html
关于流浪rsync的更多信息:https://www.vagrantup.com/docs/synced-folders/rsync.html
我希望这对你和我一样有帮助。
https://stackoverflow.com/questions/45185358
复制相似问题