Explodiere Docker mit WSL2

Mein Win10 hat WSL2 im letzten Windows Update endlich aktiviert.

Lassen Sie uns Docker sofort mit WSL2 kompatibel machen, indem Sie das offizielle Verfahren befolgen https://docs.docker.com/docker-for-windows/wsl/

Davor, was ist WSL2

WSL ist eine Abkürzung für Windows Subsystem For Linux Sie können sich das als etwas vorstellen, mit dem Sie Linux-Befehle in der Windows-Befehlszeile verwenden können.

WSL2 wird Version 2 von WSL sein. Es ist jedoch nicht vollständig aufwärtskompatibel mit WSL1 und hat Vor- und Nachteile. https://docs.microsoft.com/ja-jp/windows/wsl/compare-versions

Überprüfen Sie zunächst die Annahmen

  1. Docker, Version 2.3.0.2 oder höher
  2. Windows 10, Version 2004, Build 19041 und höher

Installieren Sie WSL2

Holen Sie sich zunächst Ubuntu aus dem Microsoft Store

Das für die WSL verwendete Linux-Betriebssystem ist aus Gründen der Vielseitigkeit Ubuntu. Die Dateigröße ist groß, aber ich denke, es ist die am meisten empfohlene für WSL. https://www.microsoft.com/ja-jp/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

Update auf WSL2

Wenn es unverändert bleibt, wird es mit WSL1 installiert. Aktualisieren wir also auf WSL2.

#Überprüfen Sie die installierte WSL und Version
wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         1

Die Standard-WSL ist mit "*" gekennzeichnet. Wenn Sie mehrere Linux in WSL haben, werden Sie viel bekommen. Normalerweise ist die Standard-WSL in Docker integriert.

#Aktualisierte WSL
wsl --set-version Ubuntu 2

#Überprüfen Sie die installierte WSL und Version
wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2

Wenn die Ubuntu-Version 2 ist, ist sie erfolgreich.

Aktivieren Sie WSL2 unter Docker für Windows sofort

  1. Gehen Sie zu "Einstellungen> Allgemein" und aktivieren Sie "WSL 2-basierte Engine verwenden", "Anwenden und neu starten" image.png

  2. Einstellungen> Ressourcen> WSL-Integration Die Integrationsfunktion ist in der Standard-WSL aktiviert. image.png

Docker, das früher auf virtuellen Maschinen unter Hyper-V ausgeführt wurde, wird jetzt unter WSL2 ausgeführt.

Aber die Fallstricke

Obwohl WSL2 jetzt vollständig Linux ist, hat es den Nachteil, dass die Leistung bei der Windows-Dateifreigabe verlangsamt wird. Wenn ich einen lokalen Windows-Ordner für einen Container mit Volumes freigeben würde, wäre dies daher ziemlich langsam.

Gelöst durch Platzieren des Quellcodes im Linux-Dateisystem

Wenn Sie den Bereich unter "/ mnt / c /" freigeben, der der gemeinsam genutzte Bereich von wsl mit Windows mit Volumes ist, ist er langsam Platzieren Sie Ihren Programmcode woanders. Die offizielle Best Practice sagt dies auch. https://docs.docker.com/docker-for-windows/wsl/#best-practices

VS Code Dev Container-Entwicklung mit WSL2 Docker

https://docs.docker.com/docker-for-windows/wsl/#develop-with-docker-and-wsl-2

Wenn Sie den Befehl code in WSL ausführen, wird VS Code of Windows im Remote-WSL-Modus geöffnet! !! !!

code ~/hoge_workspace/

Bereiten Sie danach "devcontainer.json" im Ordner in der WSL vor und folgen Sie dem üblichen Verfahren "In Container erneut öffnen" image.png image.png

DevContainer bezogen

Greifen Sie über Windows 10 Explorer auf das WSL-Verzeichnis zu

Sie können mit Explorer auf die Ordner in WSL zugreifen, indem Sie auf den folgenden Netzwerkpfad zugreifen, während Linux in WSL ausgeführt wird. Sie können die Datei auch so wie sie ist unter Windows bearbeiten.

\\wsl$\

Recommended Posts

Explodiere Docker mit WSL2
Docker Autostart-Einstellung mit wsl2
Erstellen einer Docker-Umgebung mit WSL
Das Bild flog beim Aktualisieren von Docker mit WSL2
GPU-Erkennung mit Docker mithilfe von WSL2 (August 2020)
Installieren Sie Docker mit WSL2 Memo ([Teil 2] Docker-Einführung)
Starten Sie MariaDB mit Docker
Verwenden Sie Puphpeteer mit Docker
Bedienen Sie Emby mit Docker
Führen Sie Payara mit Docker aus
Einweg-PHP mit Docker
Erstellen Sie eine Chisel-Entwicklungsumgebung mit Windows 10 + WSL2 + VScode + Docker
Verwenden Sie GDAL mit Python mit Docker
WSL2 + VSCode + Docker-Entwicklungsumgebung
Bereitstellung mit EC2 / Docker / Laravel
Docker-Management mit VS-Code
Führen Sie Rails immer im Docker aus
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Spring Boot beginnend mit Docker
Verwalten Sie die CocoaPods-Version mit Docker
Mit Docker erstellte Webanwendung (1)
Ich habe BIND mit Docker ausprobiert
Erstellen Sie DynamoDB local mit Docker
[Docker] Wird immer mit Docker + Rails verwendet
Verwenden von PlantUml mit Honkit [Docker]
Maßnahmen für Berechtigungen beim Erstellen von MySQL mit Docker auf WSL2
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie die Node.js-Umgebung mit Docker Compose
Build Go-Entwicklungsumgebung mit WSL2 + Docker Desktop + VSCode (Remote - Container)
Installieren Sie Java mit Ubuntu 16.04 Docker
Erstellen Sie mit Docker eine Node.js-Umgebung
Umgebungsbau mit Docker für Anfänger
[PDO → DB-Verbindung mit Docker, PHP]
Verwandeln Sie Java-Anwendungen mit Jib ganz einfach in Docker
Versuchen Sie, den Cloudera Manager mit Docker auszuführen
Molekulare phylogenetische Praxis mit Docker (arbeiten)
IP-Adresse mit Docker Bridge gestört
Lesen Sie die Dump-Datei mit MySQL von Docker
Hallo Welt mit Docker und C Sprache