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 6 · Compose

Docker Compose

Une application est faite de plusieurs services (application, base de données, cache distribué). Les lancer à la main devient laborieux, et empiler des scripts shell ne fait que déplacer le problème. Docker Compose permet de manipuler plusieurs conteneurs d'un coup, à partir d'un fichier de configuration qui décrit la topologie du service.

Démarche : (1) définir les images (officielles ou construites avec un Dockerfile) ; (2) décrire les conteneurs dans docker-compose.yml ; (3) tout manipuler avec la commande docker-compose.

Notion de service : un ou plusieurs conteneurs basés sur la même image. Exemple WordPress du cours : service db = 1 conteneur ; service wordpress = 2 conteneurs (service passé à l'échelle).

Vérifie que tu as compris

Dans Compose, qu'est-ce qu'un service ?

Exemple de fichier (exemple ajouté, inspiré de l'exemple WordPress du cours dont le contenu n'est pas dans l'extraction) :

services:
  db:
    image: mysql
    volumes:
      - dbdata:/var/lib/mysql
  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    depends_on:
      - db
volumes:
  dbdata:

Lecture : deux services. db utilise l'image mysql et un volume nommé pour ses données. wordpress utilise l'image wordpress, publie son port 80 sur le 8080 de l'hôte ("8080:80" = hôte:conteneur) et démarre après db.

docker-compose up -d
docker-compose ps
docker-compose logs
docker-compose down

(Exemple ajouté.) Les sous-commandes pilotent toute l'application : démarrer, lister, voir les logs, tout arrêter. Le cours montre aussi qu'on passe à l'échelle simplement (plusieurs conteneurs pour un service).

Vérifie que tu as compris

Dans ports: - "8080:80", quel numéro est le port de l'hôte ?