GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment configurer Docker dans le système Windows pour Linux (WSL2) sur Windows 10

J'ai écrit plusieurs fois sur WSL2 et ses merveilles glorieuses. Au fur et à mesure que sa sortie se rapproche (vraisemblablement) - au moment d'écrire ces lignes, c'est sur Windows Insiders Slow and Fast - je voulais mettre à jour quelques articles. J'ai blogué sur quelques trucs sympas autour de WSL et Docker

  • Docker Desktop pour WSL 2 intègre encore plus Windows 10 et Linux
  • Débogage à distance d'une application .NET Core Linux dans WSL2 à partir de Visual Studio sous Windows
  • Des trucs et astuces WSL (sous-système Windows pour Linux) sympas que vous (ou moi) ne savions pas étaient possibles
  • Ruby on Rails sur Windows n'est pas seulement possible, c'est fabuleux en utilisant WSL2 et VS Code
  • Déplacez facilement les distributions WSL entre les machines Windows 10 grâce à l'importation et à l'exportation !
  • Quelle est la différence entre une console, un terminal et un shell ?

Voici une petite HanselFAQ et quelques ressources.

Je veux exécuter Linux sur Windows

Vous pouvez certainement utiliser HyperV ou VirtualBox et exécuter une machine virtuelle standard. Téléchargez une image ISO, montez-la et exécutez "un carré dans un carré". Il ne sera pas intégré de manière transparente dans Windows - ce sera comme le film Inception - mais il a fait ses preuves.

Mieux encore, installez WSL ou WSL2. Cela prendra 5 à 10 minutes maximum si votre Windows 10 est quelque peu à jour.

  • Comment installer WSL sur Windows 10
    • WSL n'inclut pas de noyau Linux. Son accès au système de fichiers Linux est un peu lent, mais il accède aux fichiers Windows très rapidement. Si vous utilisez Cygwin, vous allez adorer, car c'est vraiment Linux, seul le noyau est émulé.
  • Comment installer WSL2 sur Windows 10
    • WSL2 embarque un véritable noyau Linux et son système de fichiers Linux est 5x à 10x plus rapide que WSL. WSL2 utilise une petite machine virtuelle utilitaire qui étend les contrats de sa mémoire et vous pouvez gérer les distributions avec la ligne de commande wsl.
    • Faites tout votre travail de développement ici, tout en utilisant VS Code sous Windows. C'est incroyable. Regardez-moi configurer un ami avec WSL2, EN DIRECT sur YouTube.

Je veux me connecter en SSH à Linux depuis Windows

Il y a 15 ans de sites Web vous demandant d'installer Putty, mais vous n'en aurez peut-être pas besoin. OpenSSH est livré dans Windows 10 depuis plus de deux ans. Vous pouvez les ajouter avec les fonctionnalités Windows, ou si vous le souhaitez, prenez une version et placez-la sur votre PATH.

Vous pouvez également faire des choses comme configurer des clés pour utiliser OpenSSH intégré de Windows 10 pour SSH automatiquement sur une machine Linux distante. J'aime aussi configurer Signed Git Commits avec un YubiKey NEO et GPG et Keybase sous Windows.

J'ai besoin d'un meilleur terminal sous Windows

Le nouveau Terminal Windows est fait pour vous. Téléchargez Windows Terminal maintenant gratuitement. C'est open source. Vous pouvez ensuite exécuter le ssh Win64/Win32 ci-dessus, ou exécuter n'importe quelle distribution Linux SSH. S'amuser. Il est temps.

REMARQUE :Avez-vous déjà téléchargé le Terminal, peut-être il y a quelque temps ? Assez changé pour que vous deviez supprimer votre profiles.json et recommencer.

Vous pouvez télécharger le terminal Windows depuis le Microsoft Store ou depuis la page des versions de GitHub. Il existe également une version non officielle de Chocolatey. Je recommande la version Store si possible.

Mon invite et mes polices sont moches

Rendez-les jolis. Vous méritez le meilleur. Allez chercher CascadiaPL.ttf et PowerLine de Cascadia Code et bouclez votre renoncule. Obtenez un joli thème et peut-être un arrière-plan GIF.

Je veux utiliser Docker sous Windows et je veux que ce ne soit pas nul

Surprise, c'est vraiment génial. Vous avez peut-être eu des difficultés avec Docker il y a quelques années sur Windows et vous avez abandonné, mais revenez. Il y a eu une architecture énorme (et fascinante) de Docker sur Windows. C'est très bien intégré si vous avez WSL2.

Si vous avez bien configuré WSL2, procurez-vous Docker Desktop WSL2. Cette version de Docker pour Windows utilise WSL2 comme moteur vous permettant de partager votre contexte Docker entre Windows et Linux sur la même machine ! Comme le créateur l'avait prévu !

WSL 2 introduit un changement architectural important car il s'agit d'un noyau Linux complet construit par Microsoft, permettant aux conteneurs Linux de s'exécuter de manière native sans émulation. Avec Docker Desktop exécuté sur WSL 2, les utilisateurs peuvent tirer parti des espaces de travail Linux et éviter d'avoir à gérer à la fois les scripts de build Linux et Windows.

Cela signifie donc

  1. Installer Windows 10 Insider Preview build 19018 ou version ultérieure
  2. Activer la fonctionnalité WSL 2 sous Windows. Pour des instructions détaillées, reportez-vous à la documentation Microsoft.
  3. Téléchargez Docker Desktop Edge 2.1.6.0 ou une version ultérieure.

Assurez-vous que vos instances WSL par défaut sont WSL2. Vous pouvez le faire avec wsl -l -v , puis wsl --set-version  <distro> 2

Ensuite, dans Docker Desktop pour Windows, vous devez vérifier deux choses. Tout d'abord, utilisez-vous WSL2 comme backend ?

Et puis, la configuration souvent manquée, vérifiez sous Ressources | Intégration WSL et indiquez à Docker les distributions WSL2 que vous souhaitez utiliser pour accéder à Docker. Si vous êtes attentif, vous remarquerez peut-être que Docker Desktop essaie de vous envoyer une notification dans le Centre d'action, mais vous risquez de la manquer.

REMARQUE :Si vous avez utilisé un aperçu technique antérieur, vous pouvez avoir un contexte Docker désormais résiduel supplémentaire nommé « wsl ». Vous voulez utiliser celui par défaut, pas celui de WSL.

Ce n'est ni intuitif ni évident et vous pourriez obtenir des erreurs étranges comme celles-ci

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

ou

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.

Vous pouvez voir si vous avez un contexte supplémentaire d'avant comme ci-dessous. Ce "wsl" est plus ancien (si vous l'avez) et vous souhaitez utiliser la valeur par défaut dans Windows et 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

J'ai en fait supprimé celui-là pour éviter toute confusion avec docker context rm wsl .

Voici Ubuntu sur ma machine Windows

Et voici ma machine Windows. Notez que les images docker dans les deux instances renvoient la même liste. Il s'agit du même backend Docker !

Je veux coder en VS Code sous Windows mais compiler sous Linux

À ce stade, une fois que j'ai mis les choses en place, je peux devenir fou. Je peux faire du développement basé sur des conteneurs, où j'utilise VS Code pour exécuter tous mes outils de développement et construire à l'intérieur d'un conteneur... peut-être que je n'installe jamais Go ou PHP ou .NET Core. Tout est dans un conteneur.

Oh, au fait, veuillez vous abonner à mon YouTube ! Je parle beaucoup de ce genre de choses là-bas.

Parrain : Couchbase offre aux développeurs la puissance de SQL avec la flexibilité de JSON. Commencez à l'utiliser gratuitement dès aujourd'hui avec des technologies telles que Kubernetes, Java, .NET, JavaScript, Go et Python.


Docker
  1. Comment utiliser systemd-nspawn pour la récupération du système Linux

  2. Comment définir ou modifier le nom d'hôte du système sous Linux

  3. Explication du sous-système Windows pour Linux, WSL et WSL2

  4. Comment installer Docker sur AlmaLinux / Rocky Linux

  5. Comment définir le titre d'une fenêtre sous Linux

Comment installer le sous-système Windows pour Linux

Comment configurer des builds automatiques pour les images Docker sur GitHub

Comment configurer un conteneur Apache Docker

Docker Desktop pour WSL 2 intègre encore plus Windows 10 et Linux

Les 15 meilleurs émulateurs Linux pour système Windows

Comment définir $PATH dans le système Linux de manière permanente