Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
si7:presentation [2020/03/08 14:43] techer.charles_educ-valadon-limoges.fr créée |
si7:presentation [2020/03/08 15:59] (Version actuelle) techer.charles_educ-valadon-limoges.fr [Retour au cours Docker] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Présentation de Docker ====== | ====== Présentation de Docker ====== | ||
+ | ===== Qu’est-ce que Docker ? ===== | ||
+ | |||
+ | « Docker est un logiciel libre destiné aux développeurs et administrateurs systèmes, dont l’objectif est de faciliter le développement, | ||
+ | |||
+ | Docker a été initialement développé par Solomon Hykes pour un projet interne à la société de plateforme en tant que service (platform as a service - PaaS ) qu’il a créée en 2008, // | ||
+ | <WRAP center round info> | ||
+ | **PaaS** est un des types de //cloud computing// où le fournisseur met à disposition des entreprises un environnement d' | ||
+ | </ | ||
+ | |||
+ | |||
+ | Le nom Docker recouvre le logiciel lui-même, la technologie et les outils qu’il embarque, le projet d'une communauté Open Source (communauté Open Source Docker), la nouvelle société créée par Solomon Hykes (//Docker inc//) en charge du développement qui s’appuie sur le travail de la communauté et le nom de la plateforme officielle en ligne. | ||
+ | |||
+ | Docker est une **technologie de conteneurisation** reposant sur le noyau Linux et ses fonctionnalités de virtualisation par conteneurs (LXC pour Linux Containers), | ||
+ | * le composant //cgroups// pour contrôler et limiter l' | ||
+ | * les //espaces de noms// ou // | ||
+ | |||
+ | **Docker utilise des fonctionnalités natives au noyau Linux, comme les cgroups ou les namespaces, mais offre les outils pour le faire de manière simplifiée pour permettre, entre autres :** | ||
+ | * la duplication et la suppression des conteneurs ; | ||
+ | * l’accessibilité des conteneurs à travers la gestion des API et CLI ; | ||
+ | * la migration (à froid ou à chaud) de conteneurs. | ||
+ | |||
+ | {{: | ||
+ | Disponible pour les applications basées sur Linux et Windows, le logiciel conteneurisé fonctionnera toujours de la même manière, quel que soit l' | ||
+ | |||
+ | **Ainsi, les conteneurs Dockers offrent une grande flexibilité qui permet de les créer, déployer, mettre à jour, copier et déplacer d'un environnement à un autre. | ||
+ | ** | ||
+ | De nombreuses images allant de la simple application comme // | ||
+ | * le registre officiel (appelé hub) : https:// | ||
+ | * de nombreux dépôts initiés par de « simples » utilisateurs. | ||
+ | |||
+ | Il est bien sûr possible de proposer des images, d’en modifier d’autres et de déposer la modification sur le dépôt officiel. | ||
+ | |||
+ | Pour terminer cette rapide présentation, | ||
+ | ===== Les forces de Docker face à une virtualisation classique ===== | ||
+ | {{: | ||
+ | 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 virtuelle peut être plus ou moins long en fonction aussi de la technique utilisée (virtualisation complète ou paravirtualisation). | ||
+ | |||
+ | {{ : | ||
+ | Les conteneurs Docker s' | ||
+ | Du fait que les conteneurs n' | ||
+ | Par ailleurs, la technologie mise en œuvre isole les applications les unes des autres et de l' | ||
+ | |||
+ | ===== Les limites des conteneurs Docker ===== | ||
+ | |||
+ | Les conteneurs Docker souffrent tout de même de quelques limites : | ||
+ | * **isolement relatif avec le système d’exploitation hôte**, les conteneurs peuvent être plus vulnérables, | ||
+ | * **attribution moins fine et stricte des ressources système et multiplication facile des conteneurs**, | ||
+ | * **très forte dépendance entre les conteneurs et le système hôte** qui fait qu’un conteneur Linux ne peut être exploité nativement que sur Linux (idem avec un conteneur Windows qui ne peut être exécuté que sur Windows) même si les choses commencent à évoluer. | ||
+ | |||
+ | ===== Docker pour quoi faire ? ===== | ||
+ | |||
+ | Alors que Solomon Hykes, le CTO et fondateur de Docker, quitte l' | ||
+ | <WRAP center round info> | ||
+ | Le **CTO**, pour Chief Technology Officer en anglais et directeur de la technologie en français est un salarié chargé de s' | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Cet article fait également état de 450 clients payants dont plusieurs dizaines sont français, parmi lesquels une majorité de groupes du CAC40. | ||
+ | |||
+ | **Pourquoi tant d’engouement ? Quelles sont les utilisations possibles, efficaces et pertinentes de Docker ?** | ||
+ | * **Déployer rapidement un service** lorsque l’on a besoin de le déployer plusieurs fois : cette reproductibilité est la base de docker, c’est typiquement l’utilisation que peut en faire un fournisseur de cloud. | ||
+ | * **Distribuer une application** : Docker en tant que " | ||
+ | * **Développer et tester une application**, | ||
+ | * de concevoir une architecture de test plus agile, chaque conteneur de test pouvant par exemple intégrer une brique de l' | ||
+ | * de développer une application selon le concept d’architecture de micro-services avec pour chaque couche des conteneurs isolant les composants de l’application ; | ||
+ | * faciliter le process de mise à jour de l’application : les images Docker sont versionnées et permettent une mise à jour simplifiée et maîtrisée. Le process de rollback est aussi simplifié : on redéploie la version précédente de l’image. | ||
+ | * d’avoir un environnement de développement identique à l’environnement de production d’autant plus que du fait de la disparition du système d’exploitation intermédiaire classique des machines virtuelles, les développeurs bénéficient d'une pile applicative plus proche de celle de l' | ||
+ | |||
+ | ===== Retour au cours Docker===== | ||
+ | * [[si7: |