De la virtualisation à Docker
- Le développement, hier et aujourd'hui
- Les différents types de virtualisation
Des concepts utiles
- Des concepts utiles
- Application Cloud Nativ
- DevOps
Les containers Linux
- Qu'est-ce qu'un container ?
- Namespaces
- Control Groups
- Containers et Machine Virtuelles
La plateforme Docker
- La plateforme Docker
- Les différentes éditions
- Modèle client / serveur
- Installation
- Online playground
Travaux pratiques : Installation et Découverte de la plateforme avec “Play With Docker”
Les containers avec Docker
- Création d'un container
- Mode interactif
- Foreground vs Background
- Publication des ports
- Les commandes de base
- Des alias utiles
Travaux pratiques : Créations de containers et Utilisation des commandes de base pour la gestion du cycle de vie
Les Images Docker
- Définition
- Union filesystem et Copy-On-Write
- Méthodes pour la création d'images
- Dockerfile
- Exemples
- Le contexte de build
- Multi-stages build
- Gestion du cache
- Les commandes de base
Travaux pratiques : Création d'images, Utilisation des différentes instructions d'un Dockerfile et Utilisation du multi-stages build
Registry
- Utilisation
- Les registries Docker
- Autres registries de l'écosystème
- Docker Hub
- Harbor
Travaux pratiques : Déploiement du registry open source
Réseaux
- Network API
- Les networks de base
- Les différents drivers
- Container Network Model (CNM)
- Bridge par défaut
- “User defined” bridge
Docker Compose
- Présentation
- Le format de fichier docker-compose.yml
- Les instructions de base
- Le binaire docker-compose et son utilisation
Travaux pratiques : Déploiement d'applications avec Docker Compose avec une stack Elastic
Orchestration
- Présentation de Docker swarm (node, service, stack, config, secret)
- Les rôles des nodes (manager, worker)
- Algorithme de consensus distribué Raft : réplication des logs et quorum
- Le routing mesh
- Les ports utilisés dans un swarm
Travaux pratiques : Mise en place d'un Swarm sur un cloud provider
Stockage
- La notion de volume
- Utilisation et cas d'usage
- File storage vs Block storage vs Object storage
Travaux pratiques : Création de volumes
Sécurité
- Les éléments de sécurité avec Docker
- Isolation (namespaces) et limitation des ressources (cgroups)
- Linux Security Modules
- Capabilities / Seccomp
- Scan de vulnérabilités
- Content Trust
- La sécurité dans un swarm
Monitoring
- Exemple d'utilisation de Prometheus
- Exemple d'utilisation de Netdata
Travaux pratiques : Déploiement d'une stack Prometheus