Mac的Docker—;请求时间非常慢

Mac的Docker—;请求时间非常慢,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,My.dockrignore设置为忽略繁忙目录,但更改单个文件似乎会对运行性能产生巨大影响 如果我对源目录中的单个非依赖文件(例如.php或.jpg)进行更改,则下一个请求的性能非常慢 后续的请求速度很快,直到我更改了原始目录中的任何文件,然后请求时间返回到~10秒 无论是:缓存的还是:委托的都没有任何区别 有没有办法加快速度?似乎Docker在后台做了很多事情,只考虑到一个文件被更改了 文件.dockrignore不会影响卷装载。它仅在映像生成期间向Docker守护进程发送上下文时使用

My
.dockrignore
设置为忽略繁忙目录,但更改单个文件似乎会对运行性能产生巨大影响

  • 如果我对源目录中的单个非依赖文件(例如
    .php
    .jpg
    )进行更改,则下一个请求的性能非常慢

  • 后续的请求速度很快,直到我更改了原始目录中的任何文件,然后请求时间返回到~10秒
  • 无论是
    :缓存的
    还是
    :委托的
    都没有任何区别
  • 有没有办法加快速度?似乎Docker在后台做了很多事情,只考虑到一个文件被更改了


    文件
    .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一样快的性能。看见希望有帮助。