De la virtualisation à Docker
- Les différents types de virtualisation.
- La conteneurisation : LXC, namespaces, control-groups.
- Le positionnement de Docker.
- Docker versus virtualisation.
Présentation de Docker
- L'architecture de Docker.
- Disponibilité et installation de Docker sur différentes plateformes (Windows, Mac et Linux).
- Création d'une machine virtuelle pour maquettage.
- La ligne de commande et l'environnement.
Travaux pratiques
Créer une machine virtuelle pour réaliser un maquettage.
Mise en œuvre en ligne de commande
- Mise en place d'un premier conteneur.
- Le Docker hub : ressources centralisées.
- Mise en commun de stockage interconteneur.
- Mise en commun de port TCP interconteneur.
- Publication de ports réseau.
- Le mode interactif.
Travaux pratiques
Configurer un conteneur en ligne de commande.
Création de conteneur personnalisé
- Produire l'image de l'état d'un conteneur.
- Qu'est-ce qu'un fichier Dockerfile ?
- Automatiser la création d'une image.
- Mise en œuvre d'un conteneur.
- Conteneur hébergeant plusieurs services : supervisor.
Travaux pratiques
Créer un conteneur personnalisé.
Mettre en œuvre une application multiconteneur
- Utilisation Docker Compose.
- Création d'un fichier YAML de configuration.
- Déployer plusieurs conteneurs simultanément.
- Lier tous les conteneurs de l'application.
Travaux pratiques
Mettre en œuvre une application multiconteneur.
Interfaces d'administration
- L'API Docker et les Web Services.
- Interface d'administration en mode Web.
- Héberger son propre registre : Docker Registry, Gitlab-CE...
Travaux pratiques
Construire et utiliser son propre registre.
Administrer des conteneurs en production
- Automatiser le démarrage des conteneurs au boot.
- Gérer les ressources affectées aux conteneurs.
- Gestion des logs des conteneurs.
- Sauvegardes : quels outils et quelle stratégie ?
Travaux pratiques
Administrer les conteneurs.
Orchestration et clustérisation
- Présentation de Docker Desktop.
- L'orchestrateur Swarm : nodes, services, secrets, configs.
- Déploiement de services et stacks dans un Swarm.
- Reverse-proxy et load-balancer pour Web Services en cluster (Traefik...).
Travaux pratiques
Création d'un cluster Swarm. Gestion des nœuds dans le cluster. Publication et mise à l'échelle d'un service dans le cluster.