Я понимаю, что в настоящее время можно запустить Ubuntu в Windows 10 двумя различными способами:
- Использование подсистемы Windows для Linux (WSL).
- Установите докер для Windows 10 и используйте контейнер с Ubuntu.
Однако я не смог найти легкого для понимания объяснения того, в чем заключаются различия между ними (речь идет о приложениях), а также преимущества и недостатки.
Я нашел пост, рассказывающий об использовании docker в WSL: Ubuntu через (Windows Linux Subsystem) и Docker . Но я говорю об использовании его непосредственно в Windows 10. Поэтому я буду признателен за любую информацию об этих двух.
Ответы:
Обновлен 2020/02/18, чтобы отразить изменения, внесенные в WSL2
Здравствуй! Microsoft PM работает над WSL и командной строкой здесь.
WSL позволяет вам запускать собственные немодифицированные двоичные файлы Linux ELF-64 непосредственно в Windows, а также запускать ваши любимые инструменты Linux на вашей «хостовой» ОС Windows.
WSL1 принял решение добавить слой, совместимый с syscall для Linux, в верхней части ядра NT, позволяя бинарным файлам Linux работать поверх NT, совместно используя ту же базовую файловую систему, сеть, список процессов и т. Д., Что и в основной ОС.
С другой стороны, скоро выйдет WSL2, который запускает двоичные файлы дистрибутивов в контейнерах Linux, поверх реального ядра Linux, внутри облегченной виртуальной машины, которая выделяет только оперативную память, необходимую приложениям, которые она запускает, а затем высвобождает освобожденную оперативную память обратно в хост ОС. Это обеспечивает 100% совместимость с Linux и позволяет вашим инструментам Linux работать с почти собственной производительностью, а также потребляет минимальные ресурсы, необходимые от хоста, обеспечивая вашу машину работает быстро и без сбоев.
До WSL2 можно было запустить клиент Docker в WSL1, используя его для управления Docker для Windows, работающим поверх Hyper-V на локальном хосте, или для управления удаленным сервером Docker. Но нельзя запустить Docker Engine на WSL1 по многим техническим причинам.
Однако вы можете сделать то же самое в Docker на WSL2, но вы также можете запустить сам Docker Engine поверх WSL, если хотите. Это предпочтительный и будущий путь Docker для запуска Docker на рабочем столе Windows .
Чтобы узнать больше о WSL, просмотрите видео и документы здесь: https://aka.ms/learnwsl
источник
Это верно. Одна вещь, которую вы не можете не упомянуть, это то, что WSL в настоящее время довольно медленный в io, даже с быстрым процессором ssd / много процессоров / 8-ядерных процессоров xeon. Это все еще проблема в 01/2019. Я только что сделал луч @ DESKTOP-O0MT13B: / mnt / c / Users / rayjh $ dd if = / dev / zero из = test bs = 64k count = 16k conv = fdatasync на моей рабочей станции с samsung SSD и получил только 97,6 МБ / с.
Запустив Ubuntu LTS из металла, эта коробка получит НЕСКОЛЬКО раз. Не берите в голову бесконечные проблемы, когда вы пытаетесь объединить WSL с VSCODE.
Я вытираю Windows 10 отсюда и устанавливаю Ubuntu 18.04LTS.
источник