Отправляет email-рассылки с помощью сервиса Sendsay

[prg] Docker и WSL2 (Промежуточные результаты)

Всем доброго времени суток!

03.03.2020 17:09, Вадим Шмаков пишет:

правильно понимаю, docker desctop for windows уже умеет использовать его
вместо Hyper-V. Насколько повышается скорость работы контейнеров?
Возникают ли какие-то сложности с кодировкой, окончанием строк?

В общем установил я windows insider, включил wsl2 и поставил убунту.
Первым вариантом запуска докера в связке с wsl2 была установка docker
desktop edge и перевод бекенда с виртуализации на нативный линукс. В
теории это должно было повысить скорость и надежность докера. При этом
файлы проекта и прочее окружение оставались бы на windows. Т.е. самый
консервативный вариант.
Инструкции по его воплощению есть в документации докера.
https://docs.docker.com/docker-for-windows/wsl-tech-preview/
Результат: все стало работать еще медленнее, что, видимо, связано с
плохой интеграцией файловых систем линукса и windows. Во всяком случае
такое объяснение заканчивает все обсуждения в интернете на эту тему.
Второй вариант неизменно мелькает на тех же форумах, где обсуждается
ущербность первого. В общем предлагается перенести сам проект на линукс,
установить туда же докер и запускать все в одном месте. Но на этот раз
через мост между файловыми системами должна будет работать уже ide.
Данный подход вполне хорошо описан в этой статье:
https://habr.com/ru/post/474346/
Разве что создавать символическую ссылку необязательно. По
\\wsl$/Ubuntu... Переходит и проводник, и total commander, и ide.
Результат: Докер просто летает. По ощущениям раз в 10 быстрее, чем
desktop версия. А вот ide чувствует себя хуже. PHPStorm, например, по
полминуты тормозит при переключении между git ветками и без ручного
обновления не видит созданные другими программами файлы. Но в целом все
вполне терпимо. Еще visual studio code по слухам имеет какой-то
волшебный плагин, позволяющий работать через wsl2 вообще бесшовно. Но я
лично не пробовал.
Третий вариант - перенести на линукс и ide. Тогда вообще все окружение
будет работать в одной коробке. Процесс для продуктов jetbrains описан
здесь:
https://www.tomaszmik.us/2020/01/26/intellij-on-wsl/
Вроде бы это решает вообще все проблемы. Но мб и создает новые. Так же
сомнительно, чтобы такая конструкция имела какое-то accessibility. Может
кто лучше понимает, о чем там идет речь. Было бы интересно услышать
рецензию.
По итогу второй уровень перехода на wsl2 пока меня вполне устраивает.
Полностью на windows возвращаться не планирую. Было бы интересно
как-нибудь попробовать и третий вариант. А вообще, где-то в мае должна
выйти уже стабильная десятка с полноценным ядром линукса под капотом. И
подобная схема работы станет доступна не только на инсайдере. Резюмируя
можно сказать, что с появлением wsl2 докеробоязни у меня поубавилось. Но
и пространство для улучшений все еще есть.

Ответить   Sat, 11 Apr 2020 19:11:03 +0500 (#3650020)

 

Ответы:

Mai omentaina, Вадим Шмаков!

Советую сюиту расширений, называется что-то типа Remote Suite. Там
есть не только расширение для WSL, но и для работы по SSH. И это, что
самый прикол, работает! У меня есть нарекания к работе в VS Code с
помощью JAWS (а щёлкать скринридерами постоянно, как и полностью
перейти на NVDA, лично у меня никаких нервов не хватит), но расширение
работает отлично в целом.

Ответить   Sun, 19 Apr 2020 13:02:48 +0200 (#3650470)