Les conteneurs d'applications avec Docker
Apprenez à utiliser les conteneurs et à déployer des applications multiservices avec Docker.
À propos de la formation
Docker est une alternative à la virtualisation pour le déploiement d'applications. Les conteneurs sont des environnements isolés, légers et portables et facilitent grandement la mise en production de nos produits. Vous apprendrez les grands concepts de Docker (conteneurs, images, volumes, réseaux...) ainsi qu'à déployer des applications multiservices qui communiquent à l'aide de Docker Compose et de Docker Swarm.
Programme
Présentation de Docker
- Les types de virtualisation, namespaces, cgroups
- Les concepts principaux de Docker : conteneurs, images
- Pourquoi utiliser Docker ?
- Installer Docker
Première prise en main
- Docker Hub
- Démarrer un conteneur, mode détaché, logs
- Le cycle de vie des conteneurs
- Utiliser une image
- Port mapping
- Exécution dans un conteneur, stdin et tty
Créer une image
- Pourquoi créer des images ?
- Images vs conteneurs
- Le Dockerfile et ses différentes commandes
- Les layers des images et le cache de build
- Les bonnes pratiques
- Le multi-stages build
- Publier une image dans un registre
Persister les données
- Les volumes
- Les bind mounts
- Les cas d'utilisation
Réseau et communication
- Le réseaux par défaut bridge
- Créer un réseau de type bridge
- Assigner les conteneurs sur des réseaux
- Inspecter les sous-réseaux et leurs paramètres
- Les alias
- Les autres drivers réseau
Docker Compose
- Qu'est-ce que Docker Compose ?
- Installer Docker Compose v2
- Le fichier docker-compose.yml et le YAML
- Déclarer des services
- Le cycle de vie avec Docker Compose
- Réseaux, port mapping et alias
- Volumes et bind mounts
- Exécution dans un conteneur
- Construire des images
- Les dépendances entre services
- Les variables d'environnement
Docker Swarm
- Qu'est-ce que Docker Swarm ?
- Comment fonctionne l'orchestration, quels avantages ?
- Les nodes d'un cluster Swarm : Managers et Workers
- Architecture d'un cluster, consensus Raft et quorum
- Les services et réplicas
- Mettre à jour un service sans interruption et rollback
- Scalabilité horizontale
- Réseaux overlay, ingress et load-balancing
- Les stacks multiservices
Docker en production
- Monitorer les services (outils, logs, healthcheck...)
- Limiter les ressources
- Politique de redémarrage des conteneurs
- Sécurité
- Backup des données
- Nettoyer Docker
Pré-requis
À destination des développeurs ou administrateurs voulant découvrir les conteneurs d'applications. Des connaissances de base en administration Linux sont nécessaires.
Durée de la formation
3 jours