Exploser Docker avec WSL2

Mon Win10 a enfin activé WSL2 dans la dernière mise à jour Windows.

Rendons Docker compatible avec WSL2 immédiatement en suivant la procédure officielle https://docs.docker.com/docker-for-windows/wsl/

Avant cela, qu'est-ce que WSL2

WSL est une abréviation pour Windows Subsystem For Linux Vous pouvez le considérer comme quelque chose qui vous permet d'utiliser des commandes Linux sur la ligne de commande Windows.

WSL2 sera la version 2 de WSL. Cependant, il n'est pas entièrement compatible avec WSL1 et présente des avantages et des inconvénients. https://docs.microsoft.com/ja-jp/windows/wsl/compare-versions

Tout d'abord, vérifiez les hypothèses

  1. Docker, version 2.3.0.2 ou supérieure
  2. Windows10, version 2004, build 19041 et supérieur

Installez WSL2

Tout d'abord, obtenez Ubuntu depuis le Microsoft Store

Le système d'exploitation Linux utilisé pour WSL est Ubuntu pour sa polyvalence. La taille du fichier est importante, mais je pense que c'est la plus recommandée pour WSL. https://www.microsoft.com/ja-jp/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

Mettre à jour vers WSL2

S'il est laissé tel quel, il sera installé avec WSL1, alors mettons à jour vers WSL2.

#Vérifiez le WSL et la version installés
wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         1

Le WSL par défaut est marqué d'un «*». Si vous avez plusieurs Linux dans WSL, vous en obtiendrez beaucoup. Normalement, le WSL par défaut est intégré à Docker.

#WSL amélioré
wsl --set-version Ubuntu 2

#Vérifiez à nouveau le WSL et la version installés
wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2

Si la version Ubuntu est 2, cela réussit.

Activer WSL2 sur Docker pour Windows immédiatement

  1. Allez dans Paramètres> Général et cochez ʻUtiliser un moteur basé sur WSL 2 ʻAppliquer et redémarrer image.png

  2. Paramètres> Ressources> Intégration WSL La fonction d'intégration est activée dans le WSL par défaut. image.png

Docker, qui fonctionnait auparavant sur des machines virtuelles sur Hyper-V, s'exécute désormais sur WSL2.

Mais les pièges

Bien que WSL2 soit désormais entièrement Linux, il présente l'inconvénient de ralentir les performances avec le partage de fichiers Windows. En conséquence, si je partageais un dossier Windows local dans un conteneur avec des volumes, cela me semblerait assez lent.

Résolu en plaçant le code source dans le système de fichiers Linux

Si vous partagez la zone sous / mnt / c / qui est la zone partagée de wsl avec Windows avec des volumes, elle sera lente, donc Mettez votre code de programme ailleurs. La meilleure pratique officielle le dit également. https://docs.docker.com/docker-for-windows/wsl/#best-practices

Développement de conteneurs VS Code Dev avec WSL2 Docker

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

Si vous exécutez la commande code dans WSL, VS Code de Windows s'ouvrira en mode Remote-WSL! !! !!

code ~/hoge_workspace/

Après cela, préparez devcontainer.json dans le dossier dans WSL et suivez la procédure habituelle Rouvrir dans le conteneur image.png image.png

Liés à DevContainer

Accéder au répertoire WSL à partir de l'Explorateur Windows 10

Vous pouvez accéder aux dossiers dans WSL avec l'Explorateur en accédant au chemin réseau suivant pendant l'exécution de Linux dans WSL. Vous pouvez également modifier le fichier à partir de Windows tel quel.

\\wsl$\

Recommended Posts

Exploser Docker avec WSL2
Paramètre de démarrage automatique de Docker avec wsl2
Créer un environnement Docker avec WSL
Image volée lors de la mise à jour de Docker avec WSL2
Reconnaissance GPU avec docker utilisant WSL2 (août 2020)
Installer Docker avec WSL2 Memo ([Partie 2] Introduction à Docker)
Lancez MariaDB avec Docker
Utiliser Puphpeteer avec Docker
Exploitez Emby avec Docker
Exécutez Payara avec Docker
PHP jetable avec Docker
Créer un environnement de développement Chisel avec Windows10 + WSL2 + VScode + Docker
Utiliser GDAL avec Python avec Docker
Environnement de développement WSL2 + VSCode + Docker
Déployer avec EC2 / Docker / Laravel
Gestion Docker avec VS Code
Exécuter des rails à chaque fois dans le docker
[Docker] Construction de l'environnement Rails 5.2 avec docker
Spring Boot à partir de Docker
Gérer la version de CocoaPods avec Docker
Application Web construite avec docker (1)
J'ai essayé BIND avec Docker
Construire DynamoDB local avec Docker
[Docker] À utiliser à tout moment avec Docker + Rails
Utilisation de PlantUml avec Honkit [Docker]
Mesures des autorisations lors de la construction de MySQL avec Docker sur WSL2
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker Compose
Créer un environnement de développement Go avec WSL2 + Docker Desktop + VSCode (Remote --Containers)
Installer Java avec Docker basé sur Ubuntu 16.04
Créer un environnement Node.js avec Docker
Construction d'environnement avec Docker pour les débutants
[PDO → Connexion DB avec docker, PHP]
Transformez facilement les applications Java en Docker avec Jib
Essayez d'exécuter cloudera manager avec docker
Exercice phylogénétique moléculaire avec docker (travail)
Adresse IP interférée avec le pont Docker
Lire le fichier de vidage avec MySQL de Docker
Hello World avec Docker et langage C