DOCKER
-
Cours et tutoriel
Table des matières
Aujourd’hui la majorité des Data Center fait appels à la virtualisation ce qui permet d’héberger une multitude de systèmes d'exploitation sur un même matériel physique.
Chacun des systèmes d'exploitation est isolé dans une machine virtuelle qui prend une portion de la machine physique pour exécuter son système d'exploitation.
Ceci est possible grâce à la technologie des hyperviseurs comme Hyper-V, VMWare, Citrix.
1.Les Containers / Docker :
La technologie des containers connait depuis 2 ans un rythme d'adoption exponentiel poussé par le succès de Docker. Docker est annoncé comme le prochain bouleversement de l'IT comme VMware a pu l'être il y a 15 ans avec la virtualisation d'applications.
La containerisation est un concept issu des technologies de virtualisation applicative développée sous Linux (aujourd 'hui adopté et en partenariat avec Microsoft) depuis de nombreuses années et popularisé par Docker.
Le principal intérêt des containers, c'est l'agilité et une meilleure densité. En rendant plus simple et plus rapide le déploiement et le monitoring d'applications, l'hébergement sous container Docker devrait accompagner et favoriser le
développement de l'hébergement Cloud et permettre à chaque acteur d'apporter plus rapidement des fonctionnalités et
services nouveaux.
Créer un container et le mettre en production, c'est très, très rapide !
Un container est donc une enveloppe virtuelle qui permet de packager une application avec tous les éléments dont elle a besoin pour fonctionner : fichiers source, runtime, librairies. outils et fichiers. Ils sont packagés en un ensemble cohérent et prêt à être déployé sur un serveur et son OS => L'application fonctionne déployée avec l'environnement d'exécution.
Contrairement à la virtualisation de serveurs et à une machine virtuelle, le container n'intègre pas d'OS, il s'appuie directement sur le système d'exploitation du serveur sur lequel il est déployé. Le container est donc plus beaucoup plus léger qu'une qui intègrera un OS. Une VM se mesure en Go quand le volume d'un container se chiffrera en Mo.
Les développeurs peuvent désormais fournir un unique "package" qui s'exécutera exactement de la mème manière quelle que soit la plateforme, Linux, Windows Azure ou AWS (Amazon Web Services) => Portabilité.
Grâce aux containers on va pouvoir exécuter une multitude d'applications virtualisées qui sont isolées les unes des autres sur le même système d'exploitation- Le Framework de développement (Docker) est le même quelque que soit la plateforme.
Cela accroit :
- La sécurité, isole les applications ainsi que les dépendances (API).
- Permet l'exécution de l'application quel que soit le contexte de l'ordinateur hôte
(L’application fonctionne (déployée) avec l'environnement d'exécution).
- L'application conserve toutes ses dépendances (fichiers, clé de registre, etc....)
- Légèreté des containers -Rapidité et facilité de déploiement des applications
- Portabilité et Multi Cloud
- Orienté Micro-Services
Cependant, certaines limitations importantes sont à noter.
• Les containers doivent utiliser le même kernel que l'Host.
Il existe de nombreuses dépendances entre le moteur Docker et le Kemel du Docker Host, il n'est pas possible de faire tourner des containers issus d'images avec un noyau différent.
Containers Hyper-V :
Le kernel est intégré dans le container, ce qui permet une meilleur isolation et sécurité, les containers Hyper-V se rapprochent plus des machines virtuelles que les containers classiques.
On ajouter une couche de virtualisation pour prendre une portion du système d'exploitation et le mettre aussi dans le container.
Chacun des containers est isolé entre eux, si vous faites une modification dans un container celui-ci n'aura pas lieu dans le système d'exploitation en dessous, mais aura lieu dans le container.
Afin d'installer les Windows Containers, il faut respecter plusieurs prérequis :
Avoir un serveur (VM ou physique) sous Windows Server 2022.
Si utilisation des Hyper-V Containers, il faudra installer Hyper-V.
Si le container hôte est une machine virtuelle sous Hyper-V et qu'il exécute les Hyper-V Containers, il faudra alors activer le Nested virtualization.
o (PS> set-VMProcessor -VMName - ExposeVirtuaüzationExtensions $true).
La machine virtuelle sous Windows Server 2022 peut être un Nano Server ou un serveur Core
Ou un Windows 10 Entreprise avec l'update d'anniversary.
La fonctionnalité Windows Container installée.
Avoir des Containers Image disponibles.
Réduction de la taille de l'image Server Core pour Serveur 2022.
Vous pouvez utiliser des comptes de service de groupe (gMSA) avec des containers Windows pour faciliter l'authentification Active Directory.
Prise en charge d'IPv6.
Amélioration de l'expérience Kubernetes.
L'extension Containers a été ajouter à WAC.
Outils de conteneurisation des applications Azure Migrate.
Les Windows Containers sont basés sur des Containers images Windows Server au moment de leur création, Microsoft à notre disposition ces deux versions :
• Une image Nano server (Nano OS Image)
• Une image Windows ServerCore (Core OS Image)
Par ailleurs, il existe deux types de containers images :
Base OS images : image container livrée directement par Microsoft.
Containers images : image créée par l'administrateur comme modèle via une image Base OS images.
2.Les outils de gestion :
Cette nouvelle proche au niveau gestion et déploiement des containers a créé le besoin de nouveaux outils « d’orchestration de containers » pour automatiser le déploiement, le management, le networking, le scaling et la disponibilité des applications basées sur container.
Tel est le rôle de Kubernetes (Open Source créé par Google en 2015) ou de Docker Swarm (Natif Docker).
A). Kubernetes
Se révèle comme l'orchestrateur le plus riche fonctionnellement par rapport à Docker Swarm et qui s'intègre facilement aux principales plateformes de cloud du marché- De plus il n'est pas seulement limité à Docker et permet de facilement gérer divers types de clusters- En contrepartie il est complexe dans ses aspects installation, configuration et utilisation.
B). Docker Swarm
Solution de clustering native, il est très simple à installer et à utiliser (CLI de Docker), et son intégration à Docker est également facile- Malheureusement il n'est compatible qu'avec Docker et est bien moins extensible que Kubernetes. Dans le cadre d'une infrastructure avec uniquement Docker et des besoins basiques alors Docker Swarm devrait être suffisant Tandis que si l'infrastructure demande une plus grande flexibilité alors Kubernetes se révélera plus adapté.
Désormais, les deux systèmes peuvent prendre en charge un maximum de 1000 clusters et 30 000 containers. Cependant, un test mené par Docker en mars 2016 révèle que Docker peut lancer le même nombre de containers que Kubemetes cinq fois plus rapidement- En revanche, une fois les containers lancés, Kubemetes conserve un avantage en termes de réactivité et de flexibilité.
3.Terminologie :
Images : Applications virtualisée
Conteneurs : Environnements d'exécution
Docker : Framework de développement (commandes)
Réseaux Docker
Repository : Bibliothèque d'images
Providers : Fournisseurs de packages en ligne
4.Utiliser Docker en ligne de commandes :
PS C:\Users\Administrateur> docker
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Run 'docker COMMAND --help' for more information on a command.
For more help on how to use Docker, head to https://docs.docker.com/go/guides/
Global Options :
--config string Location of client config files (default
"C:\\Users\\Administrateur\\.docker")
-c, --context string Name of the context to use to connect to the
daemon (overrides DOCKER_HOST env var and
default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket to connect to
-l, --log-level string Set the logging level ("debug", "info",
"warn", "error", "fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default
"C:\\Users\\Administrateur\\.docker\\ca.pem")
--tlscert string Path to TLS certificate file (default
"C:\\Users\\Administrateur\\.docker\\cert.pem")
--tlskey string Path to TLS key file (default
"C:\\Users\\Administrateur\\.docker\\key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
COMMANDES :
Commande CMD :
Description :
auditpol /get /category:*
Audit log
A:
accède à la partition A:
arp -a
affiche le cache ARP
ASSOC
Affiche ou modifie les applications associées aux extensions de fichiers.
ATTRIB
Affiche ou modifie les attributs d'un fichier.
auditpol /clear /y
effacer Audit log
auditpol /get /category:" Change-ment de stratégie" | find /i "audit"
Audit log
auditpol /get /category:"Changement de stratégie" | find /i "Pas d'audit"
Audit log
auditpol /get /category:"Gestion des comptes"
Audit log
B:
accède à la partition B:
BCDEDIT
Définit les propriétés dans la base de données de démarrage pour le contrôle du chargement d'amorçage
BREAK
Active ou désactive le contrôle étendu de CTRL+C.
C:
accède à la partition C:
CACLS
Affiche ou modifie les listes de contrôles d'accès aux fichiers.
CALL
Appelle un fichier de commandes à partir d'un autre fichier de commandes.
CD
(se déplacer) Modifie le répertoire ou affiche le répertoire actif.
CHCP
Modifie ou affiche le numéro de la page de code active.
CHDIR
Modifie le répertoire ou affiche le nom du répertoire actif.
CHKDSK
Vérifie un disque et affiche un rapport d'état.
CHKNTFS
Affiche ou modifie la vérification du disque au démarrage.
Cleanmgr
nettoyage de disque
CLS
Efface l'écran. (nettoie le terminal)
CMD
Exécute une nouvelle instance de l'interpréteur de commandes de Windows.
COLOR ()
Modifie les couleurs du premier plan et de l'arrière-plan de la console.
COMP
Compare les contenus de deux fichiers ou groupes de fichiers.
COMPACT
Modifie ou affiche la compression des fichiers sur une partition NTFS.
CONVERT
Convertit des volumes FAT en volumes NTFS. Vous ne pouvez pas convertir le lecteur en cours d'utilisation
COPY source destination
Copie le fichier "source" vers "destination"
D:
accède à la partition D:
DATE
Affiche ou définit la date.
DEL fichier
Supprime le fichier
dfrgui
Défragmentation de disque
DIR
Affiche la liste des fichiers et des sous-répertoires d'un répertoire.
dir /b
affiche les fichiers et dossiers dans le dossier courant avec moins d'informations et plus visible.
DISKPART
Affiche ou configure les propriétés d'une partition de disque.
DISKPART>assign letter=N
assigner la lettre N à la partition
DISKPART>attach vdisk
Attacher un disque virtuel à la machine afin qu'il soit reconnu par le système
DISKPART>Convert gpt
convertir le disque en GPT
DISKPART>Convert mbr
convertir le disque en MBR
DISKPART>create part extended
créer une partition étendue
DISKPART>create part logical size=2048
créer une partition logique de 2 Go dans une partition étendue.
DISKPART>create partition primary extended
Création d’une partition étendue
DISKPART>create partition primary size=20480
crée une partition primaire avec en taille 20 Go
DISKPART>Create vdisk file="c:\Disk2_v\disk3.vhd" maximum=10240 type=fixed
création disque virtuel avec 10 Go fixe
DISKPART>Create vdisk file=”c:\Disk2_v\disk3.vhd” maximum=10240 type= expandable
créer disque virtuel avec 10Go dynamique
DISKPART>delet partition
supprime la partition
DISKPART>format fs=fat32 quick
formate la partition en format FAT32 (on a rajouté quick pour un formatage rapide).
DISKPART>format fs=ntfs quick
formate la partition en format NTFS (on a rajouté quick pour un formatage rapide).
DISKPART>list disk
liste tous les disques attachés
DISKPART>list partition
liste toutes les partitions d'un disque
DISKPART>list vdisk
liste tous les disques virtuels attachés
DISKPART>list volume
liste tous les volumes
DISKPART>Select disk 3
sélectionne le disque 3
DISKPART>select vdisk file="c:\DiskV\disk 1.vhd"
sélectionne un disque virtuel via son chemin.
DISKPART>select volume O
Sélectionne le volume O (soit mettez le chiffre, soit la lettre).
Dism /Online /Cleanup-Image
/RestoreHealth
DISM utilise Windows Update pour fournir les fichiers nécessaires à la résolution
des problèmes d’endommagement. Cependant, si Windows Update est lui-aussi
endommagé vous aurez l’erreur 0x800f081f.
Dism /Online /Cleanup-Image
/ScanHealth
Analyse l’image système de Windows 10 pour déterminer si elle est réparable ou non
docker Attach
Attacher les flux d'entrée, de sortie et d'erreur standard locaux à un conteneur en cours d'exécution
docker build
Créer une image à partir d'un Dockerfile
docker Builder
Gérer les builds
Docker commit
Création d'une image à partir des modifications d'un conteneur.
docker Container
gérer les conteneurs
docker Context
Gérer le contexte
docker cp
Copier des fichiers/dossiers entre un conteneur et le système de fichiers local
docker Create
créer un nouveau conteneur
docker diff
Inspecter les modifications apportées aux fichiers ou aux répertoires sur le système de fichiers d'un conteneur
docker events
Obtenez des événements en temps réel depuis le serveur
docker exec
Exécuter une commande dans un conteneur en cours d'exécution
docker export
Exporter le système de fichiers d'un conteneur sous forme d'archive tar
docker history
Afficher l'historique d'une image
docker images
Obtient les images du conteneur local.
docker import
Importez le contenu d’une archive tar pour créer une image de système de fichiers
docker info
Afficher les informations à l'échelle du système
docker inspect
Retourner des informations de bas niveau sur les objets Docker
docker kill
Tuer un ou plusieurs conteneurs en cours d'exécution
docker load
Charger une image à partir d’une archive tar ou STDIN
docker login
S'authentifier auprès d'un registre
docker logout
Se déconnecter d'un registre
docker logs
Récupérer les journaux d'un conteneur
docker Manifest
Gérer les manifestes d'images Docker et les listes de manifestes
docker Network
gérer le réseau
docker pause
Mettre en pause tous les processus au sein d’un ou plusieurs conteneurs
docker Plugin
Gérer le plugin
docker port
Répertorier les mappages de port ou un mappage spécifique pour le conteneur
Docker ps
Liste des conteneurs
Docker pull
Télécharge une image ou un ensemble d'images (c'est-à-dire un dépôt).
docker push
Télécharger une image dans un registre
docker rename
renommer un conteneur
docker restart
redémarre un ou plusieurs conteneurs
Docker rm
Supprimer un ou plusieurs conteneurs
Docker rmi
Suppression d'une ou plusieurs images.
Docker run
Créer et exécuter un nouveau conteneur à partir d'une image.
docker save
Enregistrer une ou plusieurs images dans une archive tar (diffusée sur STDOUT par défaut)
Docker search
Recherche d'images dans Docker Hub.
docker search Linux
Recherche des containers pour Linux
docker search Windows
Recherche des containers pour Windows
docker start
Démarrer un ou plusieurs conteneurs arrêtés
docker stats
Affichage en direct des statistiques d’utilisation des ressources du ou des conteneur(s)
Docker stop
Arrêter un ou plusieurs conteneurs en cours d’exécution
docker Swarm
Gérer l'essaim
docker system
gérer le Docker
docker tag
Créez une balise TARGET_IMAGE qui fait référence à SOURCE_IMAGE
docker top
Afficher les processus en cours d’exécution d’un conteneur
docker Trust
Gérer la confiance sur les images Docker
docker unpause
Annuler la pause de tous les processus au sein d’un ou plusieurs conteneurs
docker update
Mettre à jour la configuration d’un ou plusieurs conteneurs
docker version
Afficher les informations de version de Docker
docker volume
Gérer les volumes
docker wait
Bloquez jusqu’à ce qu’un ou plusieurs conteneurs s’arrêtent, puis imprimez leurs codes de sortie.
DOSKEY
Modifie les lignes de commande, rappelle des commandes Windows, et crée des macros.
DRIVERQUERY
Affiche l'état et les propriétés du pilote de périphérique en cours d'utilisation.
DXDIAG
Outil de diagnostic DirectX
E:
accède à la partition E:
echo contenu > fichier.txt
crée un fichier.txt qui contient « contenu »
ECHO message
Affiche des messages ou active/désactive l'affichage des commandes.
ENDLOCAL
Stoppe la localisation des modifications d'environnement dans un fichier de commandes.
ERASE
Supprime un ou plusieurs fichiers.
EXIT
Quitte l'interpréteur de commandes (CMD.EXE).
F:
accède à la partition F:
FC
Compare deux fichiers ou groupes de fichiers et affiche les différences.
FIND
Recherche une chaîne de caractères dans un ou plusieurs fichiers.
FINDSTR
FOR
Cherche des chaînes dans les fichiers.
Exécute une commande sur chaque fichier d'un ensemble de fichiers.
FORMAT
Formate un disque devant être utilisé avec Windows.
FSUTIL
Affiche ou configure les propriétés du système de fichiers.
FTYPE
Affiche ou modifie les types de fichiers utilisés dans les associations d'extensions.
G:
accède à la partition G:
Get-NetAdapter -Name "ethernet"
puis : Set-NetAdapter -Name "ethernet" -
MacAddress "00-15-5D-D5-98-66"
puis : Get-NetAdapter -Name "ethernet"
changer son adresse MAC : Au niveau de la VM / Fichier / Paramètres / Carte Réseau / Fonctionnalitées avancées /
cocher Activer l'usrpation d'adresses MAC
Get-NetNeighbor puis : New-NetNeighbor -InterfaceIndex 12 -IPAddress
'192.168.0.5' -LinkLayerAddress '0000120000ff' -State Permanent
ajouter une résolution ARP dans le cache de votre PC windows
GOTO
Indique l'exécution d'un fichier de commandes pour une ligne identifiée par une étiquette.
GPRESULT
Affiche les informations de stratégie de groupe pour un ordinateur ou un utilisateur.
gpupdate /force
Mettez à jour la stratégie de groupe
GRAFTABL
Permet à Windows d'afficher un jeu de caractères en mode graphique.
H:
accède à la partition H:
HELP
Affiche des informations sur les commandes de Windows.
hostname
affiche le nom de la machine
I:
accède à la partition I:
ICACLS
Afficher, modifier, sauvegarder ou restaurer les listes de contrôle d'accès pour les fichiers et les répertoires
IF
Effectue un traitement conditionnel dans un fichier de commandes.
J:
accède à la partition J:
K:
accède à la partition K:
L:
accède à la partition L:
LABEL
Crée, modifie ou supprime le nom de volume d'un disque.
M:
accède à la partition M:
MD
Crée un répertoire (les guillemets servent un créer un ou des espaces dans le nom du dossier, exemple : md "jeux + Programmes")
mdsched
diagnostic de mémoire Windows
MKDIR
Crée un répertoire (les guillemets servent un créer un ou des espaces dans le nom du dossier, exemple : mkdir "jeux + Program")
MKLINK
Créer des liens symboliques et des liens physiques
MODE
Configure un périphérique du système.
MORE
Affiche la sortie écran par écran.
move a\c a\b\c
Déplace un fichier d'un répertoire à un autre.
move fond.png fond.jpg
renomme un fichier
MRT
Outil de suppression de logiciels malveillants Microsoft Windows
msconfig
configuration du système
msinfo32
informations système
N:
accède à la partition N:
net localgroup
affiche la liste des groupes
net localgroup Maintenance
affiche les membres du groupe Maintenance
net localgroup Maintenance Karim /add
pour ajouter l’utilisateur Karim dans ce groupe
net localgroup Maintenance Karim /delete
pour retirer l’utilisateur (Karim) de ce groupe
net localgroup TM214 /add
crée le groupe TM214
net localgroup TM214 /delete
supprime le groupe TM214
net user
affiche la liste des comptes utilisateurs
net user Administrateur gougou /active
active le compte Administrateur avec un nouveau mot de passe
net user Mimi
permet d’afficher des informations de l’utilisateur Mimi
net user Mimi /add
ajouter l’utilisateur Mimi
net user Mimi /delete
supprime l’utilisateur Mimi
net user Mimi 123
le mot de passe de Mimi est maintenant : 123
net user Stagiaire 123 /add
créer un utilisateur "Stagiaire" avec un mot de passe "123"
netsh wlan show all
affiche toutes les informations de l'interface WIFI
netsh wlan show drivers
affiche le driver de la carte Wi-Fi
netstat -an | find /i ":13"
affiche les ports qui ont 13 actifs ou non sur votre machine, exemple : 135
netstat -ano
Vérifiez l’état de vos connexions TCP et UDP
netstat -ano | find /i
"Established"
Affiche uniquement les connexions réseau actuellement établies, en indiquant pour chacune l’adresse IP distante, le port, et l’identifiant du processus (PID) correspondant.
netstat -anob > D:\port.txt
mettre dans un fichier les logs des ports
netstat -anob for /l %1 in (1,1,255) do @ping -n 1 -
w 100 10.0.4.%1 | find /i "réponse"
Scanne toute une plage d’adresses IP (10.0.4.1 à 10.0.4.255) en envoyant un ping rapide à chaque hôte pour détecter lesquels répondent, tout en filtrant les réponses.
netstat -rn
table de routage
nmap --iflist 172.27.111.75
affiche les interfaces et la table de routage sur votre machine
nmap -sn 172.27.111.75/24
affiche toutes les machines présentes sur votre réseau local
nmap -V
affiche la version de nmap
Nslookup puis scanme.nmap.org
soit taper : set type=NS puis nmap.org
soit : set type=MX puis nmap.org
soit : set type=All puis nmap.org
affiche le serveur DNS par défaut avec son adresse IP de notre machine, puis affiche ceux du site "nmap.org"NS = serveur DNS, MX = serveur de messagerie
O:
accède à la partition O:
OPENFILES
Affiche les fichiers partagés ouverts à distance par les utilisateurs.
P:
accède à la partition P:
PATH
Affiche ou définit le chemin de recherche des fichiers exécutables.
PAUSE
Interrompt l'exécution d'un fichier de commandes et affiche un message.
POPD
Restaure la valeur précédente du répertoire actif enregistrée par PUSHD.
PRINT
Imprime un fichier texte.
PROMPT
Modifie l'invite de commande de Windows.
PUSHD
Enregistre le répertoire actif puis le modifie.
Q:
accède à la partition Q:
R:
accède à la partition R:
RD
Supprime un répertoire vide
rd /s dossier
pour supprimer un dossier avec son contenu
RECOVER
Récupère l'information lisible d'un disque défectueux.
REM
Insère un commentaire dans un fichier de commandes ou CONFIG.SYS.
Remove-NetNeighbor
supprime toutes les adresses du cache ARP
Remove-NetNeighbor -InterfaceIndex 12 -IPAddress '192.168.0.5'
supprimer l'adresse "192.168.0.5" du cache ARP
REN
Renomme un ou plusieurs fichiers.
RENAME
Renomme un ou plusieurs fichiers.
REPLACE
Remplace des fichiers.
RMDIR
Supprime un répertoire.
ROBOCOPY
Utilitaire avancé pour copier les fichiers et les arborescences de répertoires
route print
table de routage
S:
accède à la partition S:
SC
Affiche ou configure les services (processus en arrière-plan).
SCHTASKS
Planifie les commandes et les programmes à exécuter sur l'ordinateur.
SET
Affiche, définit ou supprime des variables d'environnement Windows.
SETLOCAL
Commence la localisation des modifications d'environnement dans un fichier de commandes.
Set-NetAdapter -Name "ethernet" -MacAddress ""
puis : Get-NetAdapter -Name "ethernet"
Pour revenir à votre adresse MAC d'origine
sfc -scannow
Analyse l'intégrité de tous les fichiers système protégés et répare les fichiers posant problème lorsque cela est possible.
SHIFT
Modifie la position des paramètres remplaçables dans un fichier de commandes.
SHUTDOWN
pour obtenir plus d’aide à propos de l’arrêt ordinateur.
shutdown -a
annule l’arrêt de l’ordinateur
shutdown -fw
s'associe à l'option d'arrêt pour transférer le prochain démarrage vers l'interface utilisateur du microgramme
shutdown -s -t 3600
arrêt de l’ordinateur dans 1 heure
SORT
Trie les entrées.
START
Ouvre une fenêtre séparée pour l'exécution d'un programme ou d'une commande spécifique.
SUBST
Associe un chemin d'accès à une lettre de lecteur.
SYSTEMINFO
Affiche les propriétés et la configuration spécifiques de l'ordinateur.
T:
accède à la partition T:
TASKKILL
Termine ou interrompt un processus ou une application en cours d'exécution.
TASKLIST
Affiche toutes les tâches en cours d'exécution, y compris les services.
TIME
Affiche ou définit l'heure du système.
TITLE
Définit le titre de la fenêtre pour une session CMD.EXE.
TREE
Affiche le graphisme de la structure de répertoire d'un lecteur ou d'un chemin d'accès
TREE /F
Affiche le graphisme de la structure de répertoire d'un lecteur ou d'un chemin d'accès, affiche aussi les fichiers
TYPE fichier.txt
Affiche le contenu d'un fichier texte.
type nul > fichier.txt
crée un fichier vide qui se nomme "fichier.txt"
U:
accède à la partition U:
V:
accède à la partition V:
VER
Affiche la version de Windows.
VERIFY
Demande à Windows de vérifier si vos fichiers sont correctement écrits sur le disque.
VOL
Affiche le nom et le numéro de série d'un volume de disque.
W:
accède à la partition W:
whoami /user
affiche le SID ("Security Identifier")
winget upgrade
mise à jour
winget upgrade --all
toutes les mises à jour
WMIC
Affiche les informations WMI dans l'interface de commande interactive.
wsl -l -v
lister vos distributions Linux installées et vérifier la version de WSL pour laquelle chacune est définie
wsl -s <DistributionName>
définir la distribution Linux par défaut utilisée, en remplaçant <DistributionName> par le nom de la distribution Linux que vous souhaitez utiliser.
wsl --set-default-version
<Version#>
définir la version par défaut sur WSL 1 ou WSL 2 lors de l’installation d’une nouvelle
distribution Linux, en remplaçant <Version#> par 1 ou par 2
wsl --update
Mettre à jour WSL après l'installation d’un nouveau composant
wsl.exe --install Debian
Installer une distribution : "Debian" sur Windows
wsl.exe --list --online
affiche les distributions Linux disponibles pour Windows
X:
accède à la partition X:
XCOPY
Copie les fichiers et les arborescences de répertoires.
xcopy /e
copie le dossier avec ses sous-dossiers vides
xcopy /s /i source destination
copie un dossier "source" (inclus ses sous-dossiers avec contenu) vers "destination"
Y:
accède à la partition Y:
Z:
accède à la partition Z:
5.Installation de Docker :
2 choix s’offre à vous :
Choix 1 : Docker Desktop sur Windows
Pour forcer « Docker Desktop » à s’installer ailleurs que sur le C:\ (exemple : ‘’ lecteur D: ‘’ )
Créer 3 dossiers : «Containers», «Desktop» et «WSL2» dans un dossier qu’on a nommé « Docker ».
Dans la fenêtre ‘’explorateur de fichiers’’ où se situe le logiciel « Docker Desktop installer.exe ». Ouvrir une « invite de commande (CMD) » car la ligne de commande ci-dessous ne fonctionne pas sur PowerShell :
PS>start /w "" "Docker Desktop Installer.exe" install --accept-license --installation-dir="D:\Docker\Desktop" --wsl-
default-data-root="D:\Docker\WSL2" --windows-containers-default-data-root="D:\Docker\Containers"
Choix 2 : Docker sur un serveur virtuel (Srv2022)
Attention ici il faut installer une deuxième carte réseau sur Srv2022 et l’associer au commutateur PcInternet, et que la salle soit connectée à Internet pour passer à l’étape suivante :
1. Pour cela on va commencer par utiliser le Gestionnaire Hyper-V (
voir tutoriel – Hyper-V
), puis clic droit sur notre
machine virtuelle Srv2022 :
Paramètres / Ajouter un matériel / Carte réseau / Appliquer / OK puis l’associer au commutateur PcInternet
(la carte réseau installée : Ethernet2)
2. Sur le serveur Srv2022, lancez une console PowerShell puis, exécutez les commandes suivantes :
PS>ping 8.8.8.8(Éventuellement faire une mise à jour si nécessaire)
PS>Get-WindowsFeature containers
PS>Install-WindowsFeature containers
PS>Restart-Computer -Force
PS>Get-WindowsFeature containers
PS>Install-Module -Name DockerMsftProvider -Force
PS>Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/
Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
PS>.\install-docker-ce.ps1
PS>Restart-Computer -Force
PS>Get-Service -Name Docker
PS>Start-Service -Name Docker
PS>docker # Affiche toutes les commandes Docker
PS>docker version # Version installée (ex: 20.10.9)
PS>docker info # Infos de configuration de Docker
PS>docker images ls # Liste des images locales → 0
PS>docker container ls # Liste des conteneurs → 0
PS>docker search microsoft # Recherche images Microsoft
PS>docker search linux # Recherche images Linux
PS>docker search nanoserver/iis
PS>docker pull nanoserver/iis
PS>docker image pull mcr.microsoft.com/windows/nanoserver:ltsc2022
PS>docker run --name 2022 -it --hostname 2022 mcr.microsoft.com/windows/nanoserver:ltsc2022
PS>ipconfig
PS>hostname
PS>exit
PS>docker images
Charge l’image Docker stockée localement (au lieu d’un docker pull en ligne)
PS>docker load -C:\Users\Administrateur\Desktop\nano.tar
PS>docker pull mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
(Télécharge l’image de ServerCore 5 Go, adaptée pour les conteneurs IIS sur base Windows Server Core).
PS>docker run mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
3. Exercices : réponds aux phrases
Récupérer l’adresse IP du container :
Vérifier que le port 80 est bien ouvert :
Depuis le navigateur du Srv2022, tester :
http://w.x.y.z
pour si un navigateur fonctionne bien
Arrêter le container :
Supprimer le container :
4. Docker-Compose permet d'interagir simultanément avec plusieurs conteneurs (démarrer / arrêter).
Installer docker-compose. Cet outil repose sur le langage YAML (pour Yet Another Markup Language) pour décrire l'architecture. Une fois celle-ci codée dans un fichier YAML, l'ensemble des services applicatifs seront générés via une commande unique.
🔗 Dernières versions disponibles ici :
https://github.com/docker/compose/releases
Ligne de commande pour l’installer :
PS>Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.18.0/docker-compose-
Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\docker\docker-compose.exe
PS>iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
PS>choco install git -y
PS>choco install docker-compose -y
5. Fermer l’invite PowerShell, afin que la mise à jour soit prise en compte, puis ouvrir une nouvelle invite PowerShell.
PS>git clone https://github.com/sixeyed/ndc-london-2017
PS>docker-compose -v
PS>docker-compose version
6. Déplacez-vous dans le dossier « C:\Users\Administrateur\ndc-london-2017\src\docker » et ouvrez le fichier « docker-compose.yml» avec le Bloc-notes afin de coller son contenu :
version: '2.1'
services:
product-launch-db:
image: mcr.microsoft.com/windows/nanoserver:ltsc2022
ports:
- "1433:1433"
environment:
- ACCEPT_EULA=Y
- sa_password=NDC 10nd0n
networks:
- app-net
product-api:
image: mcr.microsoft.com/windows/nanoserver:ltsc2022
ports:
- "4222:4222"
networks:
- app-net
elasticsearch:
image: mcr.microsoft.com/windows/nanoserver:ltsc2022
ports:
- "9200:9200"
networks:
- app-net
networks:
app-net:
external: true
name : nat
---------------------------------------------------------------------------------------------------------------------------------------------------------
7. Revenir à PowerShell :
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose up -d
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker ps -a
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose down
PS>docker ps -a
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose up -d
PS>docker ps -a
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose stop
PS>docker ps -a
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose start
PS>docker ps -a
PS C:\Users\Administrateur\ndc-london-2017\src\docker>docker-compose down --rmi all
PS>docker ps -a
PS> docker container ls(affiche les différent conteneurs en cours d'exécution)
PS> docker container ls -a(affiche les différent conteneurs)
PS> docker container start 2022
PS> docker container top 2022(Affiche les différents processus en cours d'exécution)
PS> docker container port 2022
PS> docker ps -a(Vous affiche toutes les instances de docker qui tournent actuellement)
PS> docker network ls(Liste les différents réseaux)
PS> docker network inspect nat(Liste la config de nanoiis du fichier json)
PS> docker container inspect 2022
PS> docker container exec 2022 ipconfig(Affiche @IP du conteneur nanoiis)
PS> docker container exec 2022 netstat -an
PS> docker attach 2022
PS 2022> exit
PS> docker container start 2022
PS> docker stop 2022(Arrête le conteneur nanoiis)
PS> docker commit 2022 nano2022(Crée une image nano2022 à partir de 2022)
PS> docker image ls
PS> docker run --name 2022bis -it --hostname 2022bis nano2022
PS 2022bis> hostname
PS 2022bis> exit
---------------------------------------------------------------------------------------------------------------------------------------------------------
PS> docker ps -a
PS> docker rename 2022bis 2022ter
PS> docker ps -a
PS> docker history nano2022
PS> docker rm 2022ter(Supprimer le conteneur nanoiis)
PS> docker container ls -a
PS> mkdir c:\export
PS> docker save nano2022 -o c:\export\nano2022.tar
PS> docker images(Supprimer l'image nanoserver/iis)
PS> docker load -i c:\export\nano2022.tar
PS> docker images
---------------------------------------------------------------------------------------------------------------------------------------------------------
8. PS> docker volume create --name volume01
PS> docker volume ls => C:\ProgramData\docker => mettre sur volume01 les permissions NTFS "tout le monde = Contrôle Total"
PS> docker run --name container01 -it -v volume01:c:\folder01 nano2022
---------------------------------------------------------------------------------------------------------------------------------------------------------
PS container01> dir => le dossier folder01 apparait
PS container01> cd folder01
PS container01> mkdir 01 => créer dans C:\ProgramData\docker\volumes\volume01\_data de la VM
---------------------------------------------------------------------------------------------------------------------------------------------------------
Ouvrir une autre invite PowerShell
PS C:\ProgramData\docker\volumes\volume01\_data\01> echo bonjour > travail.txt
---------------------------------------------------------------------------------------------------------------------------------------------------------
PS container01 C:\folder01\01> dir => vérifier la présence du fichier travail.txt dans le conteneur
---------------------------------------------------------------------------------------------------------------------------------------------------------
9. PS> docker rm container01
PS>docker volume rm volume01 => message d'erreur mais le dossier C:\ProgramData\docker\volumes\volume01 n'est plus présent
PS> docker volume ls => le volume01 n'existe plus
FIN