Les conteneurs d'applications avec Docker

Apprenez à utiliser les conteneurs et à déployer des applications multiservices avec Docker.

Image de Les conteneurs d'applications 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