Permet de faire de la conteneurisation en local.
Edit 2023 :
- Doc officielle > Docker Desktop WSL 2 backend on Windows.
- ♻️ Lancer Windows Update avant, complètement, plusieurs fois
- 🚨🚨🚨Suivre les pré-requis !
- 🚨 Attention, docker est assez gourmand (notamment après avoir téléchargé plusieurs images), la recommandation est d'avoir ~20Go d'espace sur le disque dur de disponible // Sinon cela peut entraîner des freezes / BSOD / Comportements aléatoires de windows !
- 🚨 Activer la virtualisation (cf. en bas de cette doc en image)
- Windows > Paramètres > Applications et fonctionnalités > Programmes et fonctionnalités > Actier ou désactiver les fonctionnalités windows
- Windows 11 > Système > Fonctionnalités facultatives > tout en bas > Plus de fonctionnalités Windows
- S'assurer que les fonctionnalités suivantes soient activées :
- .NET (les deux)
- ~conteneurs
- Plateforme de l'hyperviseur Windows
- Plateforme de machine virtuelle
- Sous-système Windows pour Linux
- Windows Powershell 2.0
- 🚨Redémarrer🚨
- 🚨 Si besoin, vérifier dans le BIOS que cela n'est pas désactivé
- Windows > Paramètres > Applications et fonctionnalités > Programmes et fonctionnalités > Actier ou désactiver les fonctionnalités windows
Attention : Même si maintenant c'est rarement un problème, vérifier que vous avez quelques Go de disponibles sur le disque d'installation.
Durée: ~3-5mn en comptant les installations.
- Linux pour Windows déjà installé
- Installer Docker desktop
- Avoir lu/regardé le nouvel article dédié a WSL2
Après avoir installé docker desktop, le lancer, aller dans la configuration et cocher..
- General > ✅ Start Docker Desktop when you log in
- General > ✅ Use the WSL 2 based engine
- Resources > WSL integration > ✅ Enable integration with my default WSL distro
- Resources > WSL integration > ✅ Ubuntu-20.04
et.. c'est tout.
docker info
# blah² les infos docker
docker-compose --version
# docker-compose version 1.29.1, build c34c88b2
## Test avec un mini serveur local alakon
## Lancer un nginx avec sur index.html le nom du conteneur + une image
## Sur le port 80, en mode interactif (s'arrête via ctrl+c), et sera supprimé après utilisation
docker run -it \
-p 8080:80 \
--rm \
nginx:alpine
# Unable to find image 'nginx:alpine' locally
# alpine: Pulling from library/nginx
# 540db60ca938: Pull complete
# Digest: sha256:0f8595aa040ec107821e0409a1dd3f7a5e989501d5c8d5b5ca1f955f33ac81a0
# Status: Downloaded newer image for nginx:alpine
## Aller sur http://localhost:8080/
# 172.17.0.1 - - [02/Jun/2021:09:15:06 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "-"
# 2021/06/02 09:15:06 [error] 32#32: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/"
# 172.17.0.1 - - [02/Jun/2021:09:15:06 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "-"
## Profit
## Ctrl + C pour couper le conteneur de test
Note: En cas d'erreur docker: Error response from daemon: Head [...] unauthorized: incorrect username or password.
# Se connecter soit via docker desktop, doit via terminal ; avec identifiant dockerhub
docker login --username TON_USERNAME_WESH
- Lancer le bousin
- Attendre qu'il soit effectivement lancé
- Barre des tâches > Icône > Clic droit > ~"Check for updates"
- Attendre et lui tenir la main pendant approximativement 107 ans
- ..
- Profits
## Docker > Remove everything not used, no need to confirm
docker system prune -af
Potentiellement lié au fait que le service est désactivé dans les réglages de démarrage
- Afficher le gestionnaire de tâches
Ctrl
+Shift
+Echap
- Onglet "Démarrage"
- S'assurer que
Docker desktop
a un statut "Activé" - Redémarrer
Au pire essayer de le lancer en tant qu'admin.
🔍 Doc : résolution des problèmes au cas où docker desktop ne démarre pas
S'assurer que les fonctionnalités windows suivantes sont activées :
- .NET 3.5
- .NET 4.8
- Plateforme de l'hyperviseur Windows
- Plateforme de machine virtuelle
- (Sous système Windwos pour Linux, si déjà installé)
- Windows Powershell 2.0
🚨 En cas de changement, redémarrer !🚨
- Voir sur le net comment rentrer dans le BIOS de son PC au redémarrage
- Assez souvent c'est en spam d'une touche entre F1 & F12 au démarrage
- Ou sinon une activation dans un logiciel dédié du constructeur, pour le prochain redémarrage
- Dans le BIOS
- Souvent dans
Advanced BIOS Features
et/ou pas loin des options duCPU
- Souvent dans
- 🔍👴 Un article en ligne avec plus de détails
Avec une capture honteusement volée car je n'ai pas l'option sur mon pc :3
Plus de place sur le disque dur !
Attention, docker est assez gourmand (notamment après avoir téléchargé plusieurs images), la recommandation est d'avoir ~20Go de disponible.
🔍 doc
Et non la 1
🚨 À exécuter depuis Powershell (et non WSL), en 🚨mode administrateur🚨.
# Vérifier la version utilisée
wsl -l -v
# Changer la version par défaut à installer pour la 2
wsl --set-default-version 2
# SSI vous tournez sous la version 1, il faut éventuellement vérifier que la 2 est bein installée avant de changer
# Par défaut : Ubuntu
wsl --install
# Changer la distro utilisée par la commande wsl
wsl --setdefault Ubuntu
## 🎉 Si ça ne fonctionne toujours pas, forcer l'upgrade
wsl --set-version Ubuntu 2
- Gestionnaire de tâche > Fin de tâche pour docker desktop ET son service
- Lancer l'installeur en tant qu'administrateur
- Ne pas oublier de re-configurer
Ne pas oublier de prier RNGesus 🙏
Parfois lorsque Docker desktop est désinstallé (via Programmes & fonctionnalités), il n'est pas considéré comme tel par l'installeur qui refuse de ré-installer / réparer.
Dans ce cas appliquer le plan 🔥 total wipeout 🔥 :
- Pour le fun, re-désinstaller de manière classique
- Demarrer > Programmes & fonctionnalités > Docker desktop > Désinstaller
- Désactiver les process dans gestionnaire de tâches ET désactiver les services au démarrage
- Ouvrir le gestionnaire des tâches >
Ctrl
+Alt
+Echap
- Onglet Processus > Docker desktop > clic droit > Fin de tâche
- Onglet démarrage > Docker Desktop > Désactiver
- Redémarrer
- Ouvrir le gestionnaire des tâches >
- Supprimer dans
Program Files
- Si le fichier est encore en cours d'utilisation, passer par le soft Unlock it
- Virer le dossier caché DANS /appData
- Ouvrir un explorateur de fichier
- Affichage > Eléments masqués doit être coché
- Aller dans
C:\Utilisateurs\TON_BLAZ\AppData\Local
- Virer Docker & Docker Desktop
- Ouvrir un explorateur de fichier
- Virer entrées dans le registre avec ccleaner ou 💸 system mechanic
- Redémarrer
- Relancer l'installation
- Si toujours KO, au choix
- brûler le PC courant et en racheter un
- changer de métier/pays
- Formater le disque
- Si toujours KO, au choix
🔥 Virer les fichiers dans AppData
Dans le terminal WLS
export DOCKER_HOST=tcp://localhost:2375
echo "Docker Host is set to ${DOCKER_HOST}"
# Vérifications
docker info
docker run hello-world
A voir ici.