Если вы работаете в ОС, отличной от Linux, Docker должен виртуализировать вашу файловую систему, а для этого требуется определенное количество времени на файл.Для программ, скомпилированных в один исполняемый файл, это меньше проблем во время выполнения (но, очевидно, с собственными последствиями времени компиляции), но для языков сценариев, таких как PHP, это может означать, что каждый запрос выполняется очень медленно, так как каждый файл, который являетсяиспользуется должен быть переведен каждый раз, когда читается .Это также проблема в Docker для Mac (так что у вас действительно есть проблемы там, но не так, поскольку, по крайней мере, это система Linux под капотом). Я считаю, что Linux полностью виртуализирован на Windows, которая собираетсядобавить еще больше времени.
Этот Reddit обсуждает проблему в такой степени:
https://www.reddit.com/r/docker/comments/7xvlye/docker_for_macwindows_performances_vs_linux/
Это особенно интересно ( Я не пробоваля ):
https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly
Существует также хорошее решение, созданное сообществом, которое мы использовали для решения проблемы Docker для Mac .Я не понимаю, почему их параметры Windows не будут работать так же хорошо в вашем случае.Вы можете найти его здесь:
https://github.com/EugenMayer/docker-sync/wiki/docker-sync-on-Windows
В основном он устанавливает промежуточный сервис, который копирует все файлы в промежуточный том (который использует «правильную» файловую систему) только тогда, когдафайл обновляется, поэтому скорость его работы очень сильно увеличивается.
Я знаю, что это выглядит довольно пугающим процессом, но эта проблема является фундаментальной, поэтому вам придется проделать определенную работу, чтобы исправить ситуацию!
FWIW У меня была эта работа на Docker 4 Mac, но это добавило слой сложности к нашему процессу разработки, который я нахожу раздражающим, так что в итоге я получил Linux для работы.Честно говоря, установка Linux с двойной загрузкой на моей машине с Windows (которая была моим домашним решением), вероятно, была проще, чем настройка Docker 4 Mac, к моему удовлетворению, так что вы можете подумать об этом.Я использовал эту страницу дважды:
https://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
И каждый раз она работала нормально.Одно предостережение - он предлагает небольшое количество диска для корневого (/) тома, но Docker монтируется в корневом каталоге, поэтому дайте ему около 100 ГБ (а не 10-20 ГБ, которые рекомендует страница.)