Ubuntu в Windows 10: Докер проти WSL


12

Я розумію, що наразі можна запустити Ubuntu в Windows 10 двома різними способами:

  1. Використання підсистеми Windows для Linux (WSL).
  2. Встановіть докер для Windows 10 і використовуйте контейнер з Ubuntu.

Однак я не зміг знайти легко зрозуміти пояснення, в чому полягають відмінності між ними (мова про додатки), а також переваги та недоліки.

Я знайшов повідомлення про використання докера на WSL: Ubuntu via (підсистема Windows Linux) та Docker . Але я говорю про його використання безпосередньо в Windows 10. Тому я буду цінувати будь-яку інформацію про ці дві.


Я не знаю жодного з них, щоб написати відповідь, але мій голос йде на Докер. Причина полягає в тому, що Докер має на увазі віртуалізацію, тому справи повинні просто працювати. З іншого боку, WSL повний помилок. Це працює для орієнтирів, розваг і, головним чином, розвитку; але якщо ви збираєтесь розгорнути щось серйозне, це не ваш вибір, принаймні поки що.
Привіт-Ангел

Відповіді:


15

Оновлено 2020/02/18, щоб відобразити зміни, внесені до WSL2

Привіт! Microsoft PM працює тут над WSL & Command Line.

WSL дозволяє запускати рідні, немодифіковані бінарні файли ELF-64 безпосередньо в Windows, а також дозволяє запускати улюблені інструменти Linux на вашій "хост" ОС Windows.

WSL1 взяв підхід до додавання сумісного рівня Linux syscall у верхній частині ядра NT, що дозволило бінарним файлам Linux працювати над NT, обмінюючись тією ж базовою файловою системою, мережею, списком процесів тощо, що і хост ОС.

З іншого боку, WSL2, з іншого боку, запускає бінарні файли дистрибутива в Linux-контейнерах, над реальним ядром Linux, у легкій VM, яка виділяє лише оперативну пам’ять, необхідну програмам, які вона запускає, а потім випускає звільнену оперативну пам’ять назад хост ОС. Це забезпечує 100% сумісність Linux і дозволяє вашим інструментам Linux працювати з майже початковою продуктивністю і витрачає мінімум необхідних ресурсів від хоста, забезпечуючи, щоб ваша машина працювала швидко і безперебійно.

До WSL2 можна було запустити клієнта Docker у WSL1, використовуючи його для керування Docker для Windows, що працює під версією Hyper-V на локальному хості, або для управління віддаленим сервером Docker. Але не можна запустити Docker Engine з WSL1 з багатьох технічних причин.

Однак ви можете зробити те ж саме в Docker на WSL2, але ви також можете запустити сам Docker Engine на вершині WSL, якщо хочете. Це - бажаний і майбутній шлях Докера для запуску Docker на робочому столі Windows .

Щоб дізнатися більше про WSL, перегляньте відео та документи тут: https://aka.ms/learnwsl


Я думаю, що ця відповідь стосується WSL, WSL 2 запускає власне ядро ​​Linux, яке взаємодіє з Windows. Я вважаю, що користувацьке ядро ​​Linux Linux працює в VM.
Джордан Стюарт

1
Це було. Щойно опублікував оновлення, щоб краще відобразити нашу реальність WSL2 :)
Rich Turner

3

Це правильно. Одне, що ви не зазначаєте, це те, що в даний час WSL досить повільний в іо, навіть зі швидким ssd / безліччю операційного / 8-ядерного xeon-процесора. Це все ще проблема 01/2019. Я щойно зробив промінь @ DESKTOP-O0MT13B: / mnt / c / Користувачі / rayjh $ dd, якщо = / dev / zero of = test bs = 64k count = 16k conv = fdatasync на моїй робочій станції з samsung SSD і отримав лише 97,6 Мб / с.

Запустивши голий метал ubuntu LTS, це поле отримає СЕВЕРАЛ. Не забувайте про нескінченні проблеми, коли ви намагаєтесь поєднувати WSL з VSCODE.

Я стираю тут вікна 10 і встановлюю ubuntu 18.04LTS.


Вам не потрібно бути токсичним, особливо в кінці. Скоріше, скажіть, що ви зробили, щоб дослідити причину проблем, з якими ви стикаєтесь, і чи це відомі проблеми, чи ні, і чи хтось працює над їх вирішенням чи ні. Я впевнений, що вони є. І вам не потрібно видаляти Windows, вам просто потрібно встановити гіпер-v менеджер і швидко встановити Ubuntu, і ви налаштовані на середовище розробки Linux, якщо ви хочете працювати з віртуального робочого столу Linux. В іншому випадку продовжуйте використовувати WSL і чекайте, коли ваші проблеми будуть виправлені. 97 Мб / с не так повільно.
Пол-Себастьян Маноле

1
Проблеми зі швидкістю AFAIK пов'язані з підсистемою доступу до файлів Windows, і вирішення вирішується.
Пол-Себастьян Маноле

1
WSL все ще здається повільним. Але у нього дуже швидкий час запуску, і дозволяється використовувати звичайні інструменти для linux cli. Картування файлової системи linux та Windows здається ускладненою.
Джордан Стюарт

Це помітно швидше. Однак я спробував використовувати miniiconda та встановити пакунки, і це все ще було трохи повільно.
rayj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.