Сперва нашёл .wslconfig, там уменьшил количество ресурсов, вроде стало немного лучше, а потом случайно выключил WSL2 в настройках Docker и заметил что нагрузка снизилась.
Потом ещё поэкспериментировал и составил список. Потому что для слабых устройств это может быть критично.
- Использовать Hyper-V вместо WSL2. Это происходит само по себе если в настройках отключить использование WSL2.
- Отключить отправку анонимной статистики.
- Отключить автоматическую проверку и скачивание обновлений.
- На Hyper-V Docker практически не грузит систему если его запускать один раз, если его закрыть и открыть заново он начинает грузить. После запуска контейнеров можно убить в диспетчере задач процесс Docker который нагружает CPU. Без того процесса всё продолжило работать нормально и ничего не закрылось. Причины такого поведения не ясны.
- Настроить ресурсы выделяемые для Hyper-V на минимум, или увеличить если это нужно для содержимого контейнера. Но приложениям на NodeJS хватает и минимум ресурсов. Для WLS2 ресурсы настраиваются в папке пользователя Windows в файле .wslconfig, WLS2 грузит систему сильнее и по ощущениям работает медленнее не смотря на то что в настройках докера написано о том что это более производительное решение.
- Благодаря этим действиям Docker начинает работать быстрее, почти не потребляет CPU и RAM, и это хорошо. Тестировалось с контейнерами где была база данных и бекенд на NodeJS.
Всё что здесь описано личный опыт, Docker Desktop был версии 4.7.0, не факт что ваш опыт будет совпадать с моим.