Mac的Docker—;请求时间非常慢
MyMac的Docker—;请求时间非常慢,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,My.dockrignore设置为忽略繁忙目录,但更改单个文件似乎会对运行性能产生巨大影响 如果我对源目录中的单个非依赖文件(例如.php或.jpg)进行更改,则下一个请求的性能非常慢 后续的请求速度很快,直到我更改了原始目录中的任何文件,然后请求时间返回到~10秒 无论是:缓存的还是:委托的都没有任何区别 有没有办法加快速度?似乎Docker在后台做了很多事情,只考虑到一个文件被更改了 文件.dockrignore不会影响卷装载。它仅在映像生成期间向Docker守护进程发送上下文时使用
.dockrignore
设置为忽略繁忙目录,但更改单个文件似乎会对运行性能产生巨大影响
.php
或.jpg
)进行更改,则下一个请求的性能非常慢:缓存的
还是:委托的
都没有任何区别文件
.dockrignore
不会影响卷装载。它仅在映像生成期间向Docker守护进程发送上下文时使用。所以这不是一个因素
在Docker for Mac中,在某些情况下性能不佳是一个长期存在的已知问题。他们讨论这个话题。根据我的经验,fs事件扫描程序的性能最差,也就是说,您正在监视某个目录的更改并重新加载应用程序服务器作为响应。我的处理方法是禁用fs事件观察程序,并在需要时手动重新启动应用程序服务器。(对您的情况而言,可能可行,也可能不可行。)
简单的回答是,您可以尝试第三方解决方案,或者您可以接受开发中的低性能,意识到它不会跟随您进入生产(这可能不会在Mac平台上)。dockrignore文件不会影响卷装载。它仅在映像生成期间向Docker守护进程发送上下文时使用。所以这不是一个因素 在Docker for Mac中,在某些情况下性能不佳是一个长期存在的已知问题。他们讨论这个话题。根据我的经验,fs事件扫描程序的性能最差,也就是说,您正在监视某个目录的更改并重新加载应用程序服务器作为响应。我的处理方法是禁用fs事件观察程序,并在需要时手动重新启动应用程序服务器。(对您的情况而言,可能可行,也可能不可行。)
简单的回答是,你可以尝试第三方解决方案,或者你可以接受开发中的低性能,意识到它不会跟随你进入生产(这可能不会在Mac平台上)。我在Windows上遇到了类似的问题。我绕过它的方法是用流浪汉。Vagrant非常支持使用Docker进行资源调配。在您的
vagrant文件中
设置共享目录以使用rsync。这将通过VM上的目录进行复制。Docker可以在VM上的内存中快速访问这些目录
这是一篇很棒的文章,帮助我得出了这个结论:
有关使用docker配置vagrant的更多信息:
有关流浪者rsync的更多信息:
我希望这对您和我都有帮助。我在Windows上遇到了类似的问题。我绕过它的方法是用流浪汉。Vagrant非常支持使用Docker进行资源调配。在您的
vagrant文件中
设置共享目录以使用rsync。这将通过VM上的目录进行复制。Docker可以在VM上的内存中快速访问这些目录
这是一篇很棒的文章,帮助我得出了这个结论:
有关使用docker配置vagrant的更多信息:
有关流浪者rsync的更多信息:
我希望这对您和我都有帮助。使用诱变剂,您现在可以获得与Linux一样快的性能。看见希望这会有所帮助。使用诱变剂,您现在可以获得与Linux一样快的性能。看见希望有帮助。