Outils pour utilisateurs

Outils du site


workshop_docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
workshop_docker [2020/10/09 00:26]
Labomedia [Installer Docker]
workshop_docker [2020/10/09 16:16] (Version actuelle)
bigMax
Ligne 33: Ligne 33:
  
 ## Présentation des concepts ## Présentation des concepts
-* Conteneur <VM +### Différence entre Conteneur et VM 
-* Images Docker +Une VM :  
-Layered FS (Système de fichier multi couche) +Dispose d'un OS (système d'exploitation dédié) => potentiellement son OS est different de la machine hôte. 
-Dockerfile +* A besoin d'un hyperviseur installé sur la machine physique hôte. 
-Docker Hub +* A des ressources dédiées (RAM, CPU) 
-Exposition de ports + 
-* Volumes+Un Conteneur 
 +* Partage son noyau linux avec celui de la machine physique hôte =Forcément le même OS que la machine hôte. 
 +Utilise les cgroup linux pour isoler des procéssus. 
 +* Utilise les cgroup pour limiter les ressources attribuées. 
 + 
 +### Les Images Docker 
 +Ce sont de archives de système de fichier. Elles sont nommées avec des tags. Exemple : mysql:8.1. 
 +Une image n'est rien de plus qu'une collection de dossiers et fichiers. 
 + 
 +### Layered FS (Système de fichier multi couche) 
 +Docker utilise les super cool Layered FS pour ses images. Un layered FS est un système de fichier qui enregistre les modifications sous forme de diff (différentiel ou patch). Chaque version peut être vu comme une couche du FS. La version actuelle des fichiers peut être vu comme la fusion de toutes les couches. 
 +Chaque image est associé dans Docker a un hash. Lorsque l'on applique une modification à une image, on créé une nouvelle couche par dessus l'image précédente. 
 + 
 +### Le Dockerfile 
 +Pour construire une Image Docker, on écrit un fichier Dockerfile. Ce fichier est composé de lignes de commande qui vont constituer une par une, pour chaque ligne, une nouvelle image, une nouvelle couche. Notre nouvelle image fraichement construite sera constitué de toutes les couches empilées. 
 + 
 +### Le Docker Hub 
 +Ce qui permet vraiment une adoption très rapide de Docker, c'est son Hub. Il permet de partager des images Docker avec la communauté. 
 +Cela permet vraiment d'économiser beaucoup d'efforts, et de partager les bonnes idées et bonne pratiques pour construire des images. 
 + 
 +### Conteneur, runtime, image 
 +Une image n'est pas un conteneur. Une image c'est principalement un FS qui est pré-paramétré. Un conteneur est l'enveloppe qui va être crée lors du runtime (de l’exécution) pour contenir ce FS et démarrer un processus dans cette enveloppe. 
 + 
 +### Exposition de ports 
 +Chaque conteneur dispose de sa stack réseau. Par défaut, un service qui écoute sur un port dans le conteneur. Cela veut dire que vous devez connaitre l'IP de ce conteneur pour accéder au service depuis votre machine. Un mécanisme d'exposition de port au runtime permet de relier un port de sa machine hôte vers le port du conteneur que l'on démarre pour nous faciliter la vie. 
 + 
 +### Les volumes 
 +Le FS (systeme de fichier) d'un conteneur n'est pas persistant. A la destruction du conteneur, son FS est également détruit. Si l'on veut migrer un conteneur d'une version à une autre, on est forcé de le remplacer, on ne peut pas récupérer le FS du précédent conteneur. Pour répondre à cette problématique, Docker introduit "les volumes". Avec les volumes, Docker permet de "monter" au runtime n'importe quel répertoire de la machine hôte à l’intérieur d'un conteneur. Ainsi, si l'on configure certain volume, les données de nos conteneurs pourront être persistées en dehors de ceux-ci.
  
 ### Reference ### Reference
workshop_docker.txt · Dernière modification: 2020/10/09 16:16 de bigMax