reseau:docker:presentationdocker
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
reseau:docker:presentationdocker [2024/12/08 19:42] – techer.charles_educ-valadon-limoges.fr | reseau:docker:presentationdocker [2024/12/08 20:07] (Version actuelle) – [Utilisation de Docker] techer.charles_educ-valadon-limoges.fr | ||
---|---|---|---|
Ligne 20: | Ligne 20: | ||
Une image Docker est un **package léger, autonome et exécutable** d’un logiciel qui inclut tout ce qui est nécessaire pour l’exécuter : | Une image Docker est un **package léger, autonome et exécutable** d’un logiciel qui inclut tout ce qui est nécessaire pour l’exécuter : | ||
- | * **code* de l’application, | + | * **code** de l’application, |
* **environnement d’exécution** (runtime), | * **environnement d’exécution** (runtime), | ||
* **outils système et librairies**, | * **outils système et librairies**, | ||
Ligne 31: | Ligne 31: | ||
===== Comparaison de Docker avec une virtulisation classique ===== | ===== Comparaison de Docker avec une virtulisation classique ===== | ||
+ | Lien : https:// | ||
+ | |||
+ | ==== Utilisation d'un hyperviseur==== | ||
+ | |||
{{ : | {{ : | ||
- | utilisation d'un hypeviseur : | + | |
* virtualisation d'une ou plusieurs machines physiques, | * virtualisation d'une ou plusieurs machines physiques, | ||
* Les VM intègrent elles-mêmes un système d’exploitation complet sur lequel les applications qu’elles contiennent sont exécutées. | * Les VM intègrent elles-mêmes un système d’exploitation complet sur lequel les applications qu’elles contiennent sont exécutées. | ||
* hyperviseur responsable de tous les échanges de données. | * hyperviseur responsable de tous les échanges de données. | ||
L' | L' | ||
+ | |||
+ | L’application ou le service qui sera configuré ne nécessite qu’**une partie des fonctionnalités de l’OS**. Par exemple la mise en place d’un serveur DNS ne nécessite pas la présence de composants multimédia ou de programmation comme python. | ||
Le démarrage d’une machine virtuelle peut être plus ou moins long en fonction aussi de la technique utilisée (virtualisation complète ou paravirtualisation). | Le démarrage d’une machine virtuelle peut être plus ou moins long en fonction aussi de la technique utilisée (virtualisation complète ou paravirtualisation). | ||
+ | ==== Utilisation de Docker ==== | ||
+ | {{ : | ||
- | + | Les conteneurs Docker s’exécutent | |
- | + | * partagent le noyau du système d’exploitation de cette machine | |
- | + | * font directement appel à celui-ci pour exécuter | |
- | + | * très légers : n’embarquent pas de système d’exploitation et qu’ils peuvent partager des fichiers communs | |
- | + | * réduit l’utilisation du disque, | |
- | + | * migrent plus facilement d’une machine physique à une autre | |
- | ===== La virtualisation complète d'un ordinateur ===== | + | * téléchargements d’images sont beaucoup plus rapides. |
- | {{ : | + | Par ailleurs, la technologie mise en œuvre isole les applications les unes des autres et de l’infrastructure sous-jacente. |
- | La virtualisation classique permet, via un hyperviseur, | + | |
- | L’hyperviseur est donc responsable de tous les échanges de données. Exécuter plusieurs machines virtuelles sur un même serveur demande de grosses performances et un nombre suffisant de ressources pour assumer plusieurs machines virtuelles. Le démarrage d’une machine | + | |
- | <WRAP center round info> | + | |
- | La virtualisation complète, la création d’une VM nécessite | + | |
- | * l’**installation complète** d’un système d’exploitation qui intègre un grand nombre de couche logicielles afin de permettre l’exécution d’une diversité de services ou d’applications, | + | |
- | * l' | + | |
- | + | ||
- | Cependant l’application ou le service qui sera configuré ne nécessite qu’**une partie des fonctionnalités de l’OS**. Par exemple la mise en place d’un serveur DNS ne nécessite pas la présence de composants multimédia ou de programmation comme python. | + | |
- | </ | + | |
- | + | ||
- | ===== La virtualisation avec Docker===== | + | |
- | {{ : | + | |
- | Les conteneurs Docker s' | + | |
- | Du fait que les conteneurs | + | |
- | Par ailleurs, la technologie mise en œuvre isole les applications les unes des autres et de l'infrastructure sous-jacente. | + | |
- | + | ||
- | ===== A chaque service une VM dédiée ===== | + | |
- | Les pratiques courantes consistent à créer de nouvelles VM par duplication d’une image contenant un OS personnalisé et à assurer une **isolation forte** entre les VMs. Dans ce cas de figure on virtualise des systèmes d’exploitation identiques sur un même hôte physique. | + | |
- | + | ||
- | Mais cela représente une consommation importante de ressources disque et de calcul pour implémenter l’application ou le service. | + | |
- | + | ||
- | ===== Docker pour quoi faire ? ===== | + | |
- | La technologie de conteneur mise en œuvre par Docker | + | |
- | * Permettre la **création** de service s’exécutant sur un **système d’exploitation identique**, | + | |
- | * Partager une grande partie des **fonctionnalités** et des librairies de base du système d’exploitation, | + | |
- | * Assurer une **isolation** entre les VMs. | + | |
- | * **Limiter** la consommation de ressources : espace disque, mémoire, temps de mise en œuvre très réduit , administration et maintenance lors des mises à jour notamment. | + | |
Docker permet des usages qu’il était difficilement envisageable auparavant. | Docker permet des usages qu’il était difficilement envisageable auparavant. | ||
Ligne 90: | Ligne 71: | ||
- | Docker n’est ni un émulateur ni une solution de virtualisation. C’est un **logiciel client-serveur** basé sur des fonctionnalités de bas niveau du noyau Linux et ou de Windows. Si la virtualisation classique consiste à simuler le fonctionnement d’une machine physique en isolant les applications dans des systèmes d’exploitation situés dans des VMs différentes. | + | Docker n’est ni un émulateur ni une solution de virtualisation. C’est un **logiciel client-serveur** basé sur des fonctionnalités de bas niveau du noyau Linux et ou de Windows. |
L’approche de Docker consiste : | L’approche de Docker consiste : | ||
- | * à assurer l' | + | * à assurer l'**isolation** entre application, |
- | * avec les fonctionnalités du système d’exploitation lui-même. | + | * avec les **fonctionnalités** du système d’exploitation lui-même. |
L' | L' | ||
reseau/docker/presentationdocker.1733683358.txt.gz · Dernière modification : 2024/12/08 19:42 de techer.charles_educ-valadon-limoges.fr