Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 4 · Conteneurs

Virtualisation, conteneurs et architecture Docker

Docker : une solution pour faciliter les déploiements d'applications et la gestion du dimensionnement de l'infrastructure. Elle embarque une application avec ses dépendances (bibliothèques, middleware) dans un conteneur, ce qui donne flexibilité et portabilité (machine locale, Cloud public ou privé). Bien adapté aux micro-services, à la haute disponibilité, à la scalabilité dynamique et à la transition entre fournisseurs de Cloud.

VirtualisationConteneurisation
Un serveur physique héberge un hyperviseur qui abstrait le matériel et offre une interface « virtuelle »S'appuie sur les fonctionnalités d'isolation du noyau Linux ; un gestionnaire de conteneurs est installé sur l'hôte
On instancie des machines sur lesquelles un OS entier est installéDes conteneurs isolés les uns des autres, mais qui s'exécutent techniquement sur l'hôte

Vérifie que tu as compris

Qu'est-ce qui distingue le plus un conteneur d'une machine virtuelle ?

Pourquoi conteneuriser ? Le problème N × M

N technologies à déployer, M architectures cibles : un problème d'intégration N × M. C'est le même problème qu'en logistique : N formats de produits, M moyens de transport. La solution logistique : le conteneur, un format de chargement qui accueille n'importe quel produit et s'adapte à n'importe quel transport. Docker fait pareil pour les applications : on passe de N × M à N + M (lecture pédagogique, hors cours).

Historique et avantages

  • Créé en 2013, s'appuie sur LXC (Linux Containers) et les cgroups du noyau ; $235 millions de financement au total.
  • Fonctionne sur un Linux non modifié (contrairement à OpenVZ), facile à installer sur un poste de dev, communauté active, outillage puissant.

Architecture : 3 composants

  • Le démon docker : expose une API REST, traite les requêtes de création / mise à jour des conteneurs, images, etc.
  • Le client docker (CLI) : parle au démon en ligne de commande.
  • Le registry : expose une API REST, stocke les images et leurs couches.

Ce qui isole : namespaces et cgroups

NamespacesCgroups
Apparus2002 dans le noyau Linux2008 dans le noyau Linux
Rôlelimiter les accès système des applicationslimiter l'usage des ressources
Typespid, net, mnt, uts, ipc, usercpu, mémoire, réseau, block, device

Vérifie que tu as compris

Quelle fonctionnalité du noyau limite la quantité de CPU et de mémoire utilisable par un conteneur ?