Windows + Docker + WSL2 - решение проблемы со скоростью
Запросы в контейнеры Docker очень медленно работали. Оказывается это из-за того, что файлы физически лежат в Windows (NTFS), а используются в Linux (ext4). И так что-то копируется каждый раз, проверяется, поэтому медленно.
Решение такое (максимально кратка инструкция, которая нужна только для того, чтобы было что загуглить):
1. Включить в докер десктоп галку - использовать WSL2 2. Установить в WSL окружение Ubuntu (у вас как будто в Windows будет еще Ubuntu, круто, да?) 3. Все файлы проекта скопировать внутрь Ubuntu и дальше работать оттуда.
P.S. Инструкция максимально краткая, пытался сделать подробную - не хватило 4 тысячи символов, устал, бросил. Инструкция только для тех, кто сомневается, что это нужно делать. Не сомневайтесь - сделайте. Работает сайт теперь локально как ракета.
· 6 ч
Технический вопрос: а что именно потребовалось активно копировать в контейнеры docker, что стала заметна медленная работа файловой системы ntfs?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 6 ч
Я понял проблему так: Файлы хранятся в Windows (проект на Symfony, vendor, node_modules и т.д.) Файлы хранятся в файловой системе NTFS При этом в docker прокинуты ссылки на эти файлы. Так как докер работает на Линукс, то для выполнения этих файлов их нужно было перевести в файловую систему Линукс ext4. Соответственно, каждый запрос сначала переводил кучу файлов в нужную файловую систему и только потом выполнялись они.
Решение заключается в том, что мы внутрь WSL ставим Ubuntu и копируем туда файлы проекта. Они сразу в нужном формате.
Дальше настраиваем докер, чтобы туда смотрел и не тратил время на изменение форматов файлов.
Как то так:) Работает теперь прекрасно)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён