GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come configurare Docker all'interno del sistema Windows per Linux (WSL2) su Windows 10

Ho scritto molte volte di WSL2 ed è una meraviglia meravigliosa. Man mano che la sua versione (presumibilmente) si avvicina - al momento della stesura di questo articolo è su Windows Insider Slow and Fast - volevo aggiornare alcuni post. Ho scritto sul blog alcune cose interessanti su WSL e Docker

  • Docker Desktop per WSL 2 integra Windows 10 e Linux ancora più da vicino
  • Debug remoto di un'app Linux .NET Core in WSL2 da Visual Studio su Windows
  • Suggerimenti e trucchi fantastici per WSL (sottosistema Windows per Linux) che tu (o io) non sapevi fossero possibili
  • Ruby on Rails su Windows non è solo possibile, è favoloso usando WSL2 e VS Code
  • Sposta facilmente le distribuzioni WSL tra le macchine Windows 10 con l'importazione e l'esportazione!
  • Qual ​​è la differenza tra una console, un terminale e una shell?

Ecco un piccolo HanselFAQ e alcune risorse.

Voglio eseguire Linux su Windows

Puoi sicuramente utilizzare HyperV o VirtualBox ed eseguire una macchina virtuale standard. Scarica una ISO e montala ed esegui "un quadrato all'interno di un quadrato". Non sarà perfettamente integrato in Windows, sarà come il film Inception, ma è stato testato nel tempo.

Meglio ancora, installa WSL o WSL2. Ci vorranno 5-10 minuti al massimo se il tuo Windows 10 è in qualche modo aggiornato.

  • Come installare WSL su Windows 10
    • WSL non include un kernel Linux. Il suo accesso al file system Linux è un po' lento, ma accede ai file Windows molto velocemente. Se usi Cygwin, lo adorerai, perché è davvero Linux, solo il kernel è emulato.
  • Come installare WSL2 su Windows 10
    • WSL2 fornisce un vero kernel Linux e il suo file system Linux è 5x-10x più veloce di WSL. WSL2 utilizza una piccola utility VM che espande i contratti di memoria e puoi gestire le distribuzioni con la riga di comando wsl.
    • Fai tutto il tuo lavoro di sviluppo qui dentro, mentre usi ancora VS Code su Windows. È fantastico. Guardami mentre creo un amico con WSL2, IN DIRETTA su YouTube.

Voglio eseguire l'SSH in Linux da Windows

Ci sono 15 anni di siti Web che ti dicono di installare Putty ma potresti non averne bisogno. OpenSSH viene distribuito in Windows 10 da oltre due anni. Puoi aggiungerli con le funzionalità di Windows o, se lo desideri, prendere una versione e inserirla nel tuo PERCORSO.

Puoi anche fare cose come impostare le chiavi per utilizzare OpenSSH integrato di Windows 10 per SSH automaticamente in una macchina Linux remota. Mi piace anche impostare gli impegni Git firmati con YubiKey NEO e GPG e Keybase su Windows.

Ho bisogno di un terminale migliore in Windows

Il nuovo Terminale di Windows fa per te. Scarica ora Windows Terminal gratuitamente. È open source. È quindi possibile eseguire Win64/Win32 ssh dall'alto o eseguire qualsiasi distribuzione Linux SSH. Divertiti. È ora.

NOTA:Hai già scaricato il Terminale, magari tempo fa? È cambiato abbastanza che dovresti eliminare il tuo profiles.json e ricominciare da capo.

Puoi scaricare Windows Terminal da Microsoft Store o dalla pagina delle versioni di GitHub. C'è anche una versione non ufficiale di Chocolatey. Consiglio la versione Store, se possibile.

Il mio prompt e i miei caratteri sono brutti

Rendili carini. Ti meriti il ​​meglio. Vai a prendere CascadiaPL.ttf e PowerLine di Cascadia Code e allaccia il ranuncolo. Ottieni un bel tema e magari uno sfondo GIF.

Voglio usare Docker su Windows e voglio che non faccia schifo

Sorpresa, è davvero fantastico. Potresti aver avuto delle difficoltà con Docker alcuni anni fa su Windows e aver rinunciato, ma torna indietro. C'è stata un'architettura enorme (e affascinante) di Docker su Windows. È molto ben integrato se hai WSL2.

Se hai impostato correttamente WSL2, ottieni Docker Desktop WSL2. Questa versione di Docker per Windows utilizza WSL2 come motore che ti consente di condividere il contesto della finestra mobile su Windows e Linux sulla stessa macchina! Come intendeva il produttore!

WSL 2 introduce un cambiamento architettonico significativo in quanto è un kernel Linux completo creato da Microsoft, che consente ai container Linux di essere eseguiti in modo nativo senza emulazione. Con Docker Desktop in esecuzione su WSL 2, gli utenti possono sfruttare gli spazi di lavoro Linux ed evitare di dover mantenere gli script di build Linux e Windows.

Quindi questo significa

  1. Installa Windows 10 Insider Preview build 19018 o successiva
  2. Abilita la funzione WSL 2 su Windows. Per istruzioni dettagliate, fare riferimento alla documentazione Microsoft.
  3. Scarica Docker Desktop Edge 2.1.6.0 o una versione successiva.

Assicurati che le tue istanze WSL predefinite siano WSL2. Puoi farlo con wsl -l -v , quindi wsl --set-version  <distro> 2

Quindi all'interno di Docker Desktop per Windows hai due cose da controllare. Innanzitutto, stai utilizzando WSL2 come back-end?

E poi, la configurazione spesso persa, controlla in Risorse | Integrazione WSL e indica a Docker quali distribuzioni WSL2 desideri utilizzare per accedere a Docker. Se stai prestando attenzione, potresti notare che Docker Desktop tenta di richiederti una notifica nel Centro operativo ma potresti perderla.

NOTA:se hai utilizzato una delle prime Tech Preview, potresti avere un contesto Docker extra ora rudimentale denominato "wsl". Vuoi usare quello predefinito, non quello WSL.

Questo non è intuitivo o ovvio e potresti ricevere strani errori come questi

docker wsl open //./pipe/docker_wsl: The system cannot find the file specified.

o

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_wsl/v1.40/images/json?all=1: open //./pipe/docker_wsl: The system cannot find the file specified.

Puoi vedere se hai un contesto extra di prima come di seguito. Quello "wsl" è più vecchio (se ce l'hai) e vuoi usare l'impostazione predefinita sia in Windows che in WSL2.

docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT
default * Current DOCKER_HOST based configuration npipe:////./pipe/docker_engine https://kubernetes.docker
wsl Docker daemon hosted in WSL 2 npipe:////./pipe/docker_wsl

In realtà l'ho rimosso per evitare confusione con docker context rm wsl .

Ecco Ubuntu sulla mia macchina Windows

Ed ecco la mia macchina Windows. Si noti che le immagini docker in entrambe le istanze restituiscono lo stesso elenco. Sono lo stesso backend Docker!

Voglio codificare in VS Code su Windows ma compilare su Linux

A questo punto, una volta che ho impostato le cose, posso andare alle banane. Posso eseguire lo sviluppo basato su container, in cui utilizzo VS Code per eseguire tutti i miei strumenti di sviluppo e creare insider un container ... forse non installo mai Go o PHP o .NET Core. È tutto solo all'interno di un contenitore.

Oh, a proposito, per favore iscriviti al mio YouTube! Parlo molto di queste cose laggiù.

Sponsor: Couchbase offre agli sviluppatori la potenza di SQL con la flessibilità di JSON. Inizia a usarlo oggi gratuitamente con tecnologie tra cui Kubernetes, Java, .NET, JavaScript, Go e Python.


Docker
  1. Come utilizzare systemd-nspawn per il ripristino del sistema Linux

  2. Come impostare o modificare il nome host del sistema in Linux

  3. Spiegazione del sottosistema Windows per Linux, WSL e WSL2

  4. Come installare Docker su AlmaLinux / Rocky Linux

  5. Come configurare OpenCL per GPU su Linux e Docker [Guida completa]

Come installare il sottosistema Windows per Linux

Come impostare build automatiche per immagini Docker su GitHub

Come configurare un container Docker Apache

Docker Desktop per WSL 2 integra Windows 10 e Linux ancora più da vicino

I 15 migliori emulatori Linux per sistemi Windows

Come impostare permanentemente $ PATH nel sistema Linux