GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So richten Sie Docker im Windows-System für Linux (WSL2) unter Windows 10 ein

Ich habe viele Male über WSL2 und seine glorreichen Wunder geschrieben. Da seine Veröffentlichung (vermutlich) näher rückt – zum jetzigen Zeitpunkt ist es auf Windows Insiders Slow and Fast – wollte ich einige Posts aktualisieren. Ich habe über ein paar coole Dinge rund um WSL und Docker gebloggt

  • Docker Desktop für WSL 2 integriert Windows 10 und Linux noch enger
  • Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows
  • Coole Tipps und Tricks zu WSL (Windows Subsystem for Linux), von denen Sie (oder ich) nicht wussten, dass sie möglich sind
  • Ruby on Rails unter Windows ist nicht nur möglich, es ist fabelhaft mit WSL2 und VS Code
  • Verschieben Sie WSL-Verteilungen einfach zwischen Windows 10-Rechnern mit Import und Export!
  • Was ist der Unterschied zwischen einer Konsole, einem Terminal und einer Shell?

Hier ist eine kleine HanselFAQ und einige Ressourcen.

Ich möchte Linux unter Windows ausführen

Sie können sicherlich HyperV oder VirtualBox verwenden und eine standardmäßige virtuelle Maschine ausführen. Laden Sie ein ISO herunter, mounten Sie es und führen Sie "ein Quadrat innerhalb eines Quadrats" aus. Es wird nicht nahtlos in Windows integriert – es wird wie der Film Inception sein – aber es hat sich bewährt.

Besser noch, installieren Sie WSL oder WSL2. Es dauert höchstens 5–10 Minuten, wenn Ihr Windows 10 einigermaßen aktuell ist.

  • So installieren Sie WSL unter Windows 10
    • WSL enthält keinen Linux-Kernel. Der Zugriff auf das Linux-Dateisystem ist etwas langsam, aber es greift superschnell auf Windows-Dateien zu. Wenn Sie Cygwin verwenden, werden Sie das lieben, denn es ist wirklich Linux, nur der Kernel wird emuliert.
  • So installieren Sie WSL2 unter Windows 10
    • WSL2 enthält einen aktuellen Linux-Kernel und sein Linux-Dateisystem ist 5- bis 10-mal schneller als WSL. WSL2 verwendet eine winzige Dienstprogramm-VM, die ihren Speicher erweitert, und Sie können Distributionen mit der wsl-Befehlszeile verwalten.
    • Führen Sie Ihre gesamte Entwicklungsarbeit hier aus, während Sie weiterhin VS Code unter Windows verwenden. Es ist wunderbar. Sehen Sie, wie ich einen Freund mit WSL2 einrichte, LIVE auf YouTube.

Ich möchte von Windows aus per SSH auf Linux zugreifen

Es gibt seit 15 Jahren Websites, die Ihnen sagen, dass Sie Putty installieren sollen, aber Sie brauchen es vielleicht nicht. OpenSSH wird seit über zwei Jahren in Windows 10 ausgeliefert. Sie können sie mit Windows-Features hinzufügen oder, wenn Sie möchten, eine Version herunterladen und in Ihren PATH einfügen.

Sie können auch Dinge wie das Einrichten von Schlüsseln tun, um das integrierte OpenSSH von Windows 10 zu verwenden, um automatisch eine SSH-Verbindung zu einem entfernten Linux-Computer herzustellen. Ich richte Signed Git Commits auch gerne mit einem YubiKey NEO und GPG und Keybase unter Windows ein.

Ich brauche ein besseres Terminal in Windows

Das neue Windows Terminal ist für Sie. Laden Sie Windows Terminal jetzt kostenlos herunter. Es ist Open Source. Sie können dann das Win64/Win32-SSH von oben ausführen oder ein beliebiges Linux-Distributions-SSH ausführen. Habe Spaß. Es ist soweit.

HINWEIS:Haben Sie das Terminal bereits heruntergeladen, vielleicht schon eine Weile her? Es hat sich genug geändert, dass Sie Ihre profiles.json löschen und von vorne beginnen sollten.

Sie können das Windows-Terminal aus dem Microsoft Store oder von der GitHub-Versionsseite herunterladen. Es gibt auch eine inoffizielle Chocolatey-Veröffentlichung. Ich empfehle nach Möglichkeit die Store-Version.

Meine Eingabeaufforderung und Schriftarten sind hässlich

Mach sie hübsch. Du verdienst das Beste. Holen Sie sich die CascadiaPL.ttf und PowerLine von Cascadia Code und schnallen Sie sich Butterblume an. Holen Sie sich ein schönes Thema und vielleicht einen GIF-Hintergrund.

Ich möchte Docker unter Windows verwenden und ich möchte, dass es nicht nervt

Überraschung, es ist wirklich großartig. Möglicherweise hatten Sie vor einigen Jahren unter Windows einige Herausforderungen mit Docker und haben aufgegeben, aber kommen Sie zurück. Es gibt eine riesige (und faszinierende) Architektur von Docker unter Windows. Es ist sehr gut integriert, wenn Sie WSL2 haben.

Wenn Sie WSL2 gut eingerichtet haben, dann holen Sie sich Docker Desktop WSL2. Diese Version von Docker für Windows verwendet WSL2 als Engine, sodass Sie Ihren Docker-Kontext für Windows und Linux auf demselben Computer freigeben können! Wie vom Hersteller beabsichtigt!

WSL 2 führt eine bedeutende architektonische Änderung ein, da es sich um einen vollständigen, von Microsoft erstellten Linux-Kernel handelt, mit dem Linux-Container nativ ohne Emulation ausgeführt werden können. Wenn Docker Desktop auf WSL 2 ausgeführt wird, können Benutzer Linux-Arbeitsbereiche nutzen und vermeiden, dass sowohl Linux- als auch Windows-Build-Skripts gepflegt werden müssen.

Das bedeutet also

  1. Installieren Sie Windows 10 Insider Preview Build 19018 oder höher
  2. Aktivieren Sie die WSL 2-Funktion unter Windows. Detaillierte Anweisungen finden Sie in der Microsoft-Dokumentation.
  3. Laden Sie Docker Desktop Edge 2.1.6.0 oder eine neuere Version herunter.

Stellen Sie sicher, dass Ihre standardmäßige WSL-Instanz WSL2 ist. Das geht mit wsl -l -v , und dann wsl --set-version  <distro> 2

Dann müssen Sie in Docker Desktop für Windows zwei Dinge überprüfen. Erstens:Verwenden Sie WSL2 als Backend?

Und dann, die oft übersehene Einrichtung, überprüfen Sie unter Ressourcen | WSL-Integration und teilen Sie Docker mit, welche WSL2-Distributionen Sie für den Zugriff auf Docker verwenden möchten. Wenn Sie aufmerksam sind, stellen Sie vielleicht fest, dass Docker Desktop versucht, Sie mit einer Benachrichtigung im Action Center zu benachrichtigen, aber Sie könnten sie übersehen.

HINWEIS:Wenn Sie eine frühe Tech Preview verwendet haben, haben Sie möglicherweise einen zusätzlichen Docker-Kontext mit dem Namen „wsl“. Sie möchten den Standard verwenden, nicht den WSL.

Dies ist nicht intuitiv oder offensichtlich und es können seltsame Fehler wie diese auftreten

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

oder

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.

Sie können sehen, ob Sie einen zusätzlichen Kontext von früher haben, wie unten. Dieses "wsl" ist älter (falls Sie es haben) und Sie möchten die Standardeinstellung sowohl in Windows als auch in WSL2 verwenden.

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

Ich habe diesen eigentlich entfernt, um Verwechslungen mit docker context rm wsl zu vermeiden .

Hier ist Ubuntu auf meinem Windows-Rechner

Und hier ist mein Windows-Rechner. Beachten Sie, dass Docker-Bilder in beiden Instanzen dieselbe Liste zurückgeben. Sie sind das gleiche Docker-Backend!

Ich möchte in VS Code unter Windows codieren, aber unter Linux kompilieren

An diesem Punkt, sobald ich die Dinge eingerichtet habe, kann ich Bananen machen. Ich kann Container-basierte Entwicklung durchführen, bei der ich VS Code verwende, um alle meine Entwicklertools auszuführen und einen Insider-Container zu erstellen … vielleicht installiere ich nie Go oder PHP oder .NET Core. Es ist alles nur in einem Container.

Übrigens, abonnieren Sie bitte mein YouTube! Ich rede viel über dieses Zeug da drüben.

Sponsor: Couchbase bietet Entwicklern die Leistungsfähigkeit von SQL mit der Flexibilität von JSON. Nutzen Sie es noch heute kostenlos mit Technologien wie Kubernetes, Java, .NET, JavaScript, Go und Python.


Docker
  1. So verwenden Sie systemd-nspawn für die Linux-Systemwiederherstellung

  2. Windows-Subsystem für Linux erklärt, WSL &WSL2

  3. So installieren Sie Docker unter AlmaLinux / Rocky Linux

  4. So richten Sie OpenCL für GPUs unter Linux und Docker ein [Vollständige Anleitung]

  5. Wie stelle ich die Größe des X-Mauszeigers im Windows-Subsystem für Linux ein?

So installieren Sie das Windows-Subsystem für Linux

So richten Sie automatische Builds für Docker-Images auf GitHub ein

So richten Sie einen Apache Docker-Container ein

Docker Desktop für WSL 2 integriert Windows 10 und Linux noch enger

Die 15 besten Linux-Emulatoren für Windows-Systeme

So legen Sie $PATH im Linux-System dauerhaft fest