Ubuntu su Windows 10: Docker vs WSL


11

Comprendo che attualmente è possibile eseguire Ubuntu su Windows 10 in due modi diversi:

  1. Utilizzo del sottosistema Windows per Linux (WSL).
  2. Installazione della finestra mobile per Windows 10 e utilizzo di un contenitore con Ubuntu.

Tuttavia, non sono riuscito a trovare una spiegazione di facile comprensione di quali siano le differenze tra loro (parlando di applicazioni), nonché vantaggi e svantaggi.

Ho trovato un post che parlava dell'utilizzo della finestra mobile su WSL: Ubuntu via (sottosistema Windows Linux) e Docker . Ma sto parlando di usarlo direttamente su Windows 10. Quindi apprezzerò tutte le informazioni su questi due.


Non sono esperto in nessuno di essi per scrivere una risposta, ma il mio voto va a Docker. Il motivo è che Docker implica la virtualizzazione, quindi le cose dovrebbero funzionare. WSL invece è pieno di bug. Funziona per benchmark, divertimento e soprattutto sviluppo; ma se stai per schierare qualcosa di serio, questa non è la tua scelta, almeno non ancora.
Ciao Angelo

Risposte:


14

Aggiornato il 2020/02/18 per riflettere le modifiche introdotte in WSL2

Ciao! Microsoft PM lavora su WSL e riga di comando qui.

WSL ti consente di eseguire binari ELF-64 nativi e non modificati direttamente su Windows e ti consente di eseguire i tuoi strumenti Linux preferiti in cima al tuo sistema operativo "host" di Windows.

WSL1 ha adottato un approccio per aggiungere un livello compatibile con syscall Linux nella parte superiore del kernel NT, consentendo ai binari Linux di eseguire su NT, condividendo lo stesso filesystem, rete, elenco di processi, ecc. Del sistema operativo host.

La WSL2, che sarà presto rilasciata, invece, esegue i binari delle distribuzioni all'interno di container Linux, in cima a un vero kernel Linux, all'interno di una VM leggera che alloca solo la RAM necessaria alle app che esegue, e quindi rilascia la RAM liberata nella sistema operativo host. Ciò fornisce una compatibilità Linux al 100% e consente agli strumenti Linux di funzionare con prestazioni quasi native e consuma le risorse minime necessarie dall'host, garantendo che la macchina funzioni in modo rapido e senza intoppi.

Prima di WSL2, si poteva eseguire il client Docker in WSL1, utilizzandolo per guidare Docker per Windows in esecuzione su Hyper-V sull'host locale o per gestire un server Docker remoto. Ma non è possibile eseguire Docker Engine su WSL1 per molte ragioni tecniche.

Tuttavia, puoi fare lo stesso in Docker su WSL2, ma puoi anche eseguire Docker Engine stesso su WSL, se preferisci. Questo è il percorso preferito e futuro di Docker per l'esecuzione di Docker sul desktop di Windows .

Per ulteriori informazioni su WSL, consulta i video e i documenti qui: https://aka.ms/learnwsl


Penso che questa risposta si riferisca a WSL, WSL 2 esegue un kernel Linux personalizzato, che si interfaccia con Windows. Credo che il kernel personalizzato di Windows Linux funzioni in una macchina virtuale.
Jordan Stewart,

1
Lo ha fatto. Ho appena pubblicato un aggiornamento per riflettere meglio la nostra realtà WSL2 :)
Rich Turner,

2

È corretto. Una cosa che non puoi menzionare è che WSL è attualmente piuttosto lento in io anche con un veloce ssd / sacco di CPU ram / 8 core xeon. Questo è ancora un problema nel 01/2019. Ho appena fatto un ray @ DESKTOP-O0MT13B: / mnt / c / Users / rayjh $ dd if = / dev / zero of = test bs = 64k count = 16k conv = fdatasync sulla mia workstation con un SSD Samsung e ho solo 97,6 MB /S.

Eseguendo Ubuntu LTS bare metal questa scatola otterrà MOLTE volte che. Non importa i problemi infiniti quando provi a combinare WSL con VSCODE.

Sto cancellando Windows 10 da qui e installando Ubuntu 18.04LTS.


Non è necessario essere tossici, soprattutto alla fine. Piuttosto, ti preghiamo di dirci cosa hai fatto per ricercare la causa dei problemi che stai affrontando e se sono noti problemi o meno e se qualcuno sta lavorando per risolverli o meno. Sono sicuro che lo sono. E non devi disinstallare Windows, devi solo installare hyper-v manager e installare rapidamente Ubuntu e sei pronto per un ambiente di sviluppo Linux se vuoi lavorare da un desktop Linux virtuale. Altrimenti continua a usare WSL e attendi che i tuoi problemi vengano risolti. 97 MB / s non è così lento.
Paul-Sebastian Manole,

AFAIK i problemi di velocità sono correlati al sottosistema di accesso ai file di Windows e una soluzione è in lavorazione.
Paul-Sebastian Manole,

WSL sembra ancora lento. Ma ha un tempo di avvio molto veloce e consente l'uso dei comuni strumenti di cli di linux. La mappatura del file system Linux e Windows sembra complicata.
Jordan Stewart,

È diventato sensibilmente più veloce. Comunque ho provato ad usare la miniconda e installare i pacchetti ed era ancora un po 'lento.
rayj,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.