Aller au contenu principal
  • Cours pratique
  • FSE
  • Informatique

Formation Docker avancé : Déployer et gérer des hôtes Docker

Demander un devis
Une formatrice accompagne deux participants penchés sur leurs notes, en salle de formation
Durée
2 jours
Niveau
Avancé
Modalités
Présentiel / Distanciel

Description de la formation Docker Avance

Cette formation Docker Avancé est également une introduction à Kubernetes et à son écosystème. 
Elle a pour but de faire le pont avec une formation à Kubernetes, au travers de la compréhension des orchestrateurs de conteneurs, de la problématique des déploiements d’applications en production et de la place des outils autour de Kubernetes.

Atelier en salle : une participante présente des notes au tableau

Objectifs pédagogiques

Concrètement, à l'issue de cette formation les participants seront capables de : 

  • Savoir gérer les problématiques de sécurité des conteneurs, connaître les bonnes pratiques à adopter
  • Les fonctions avancées de la construction d’image avec Dockerfile, Arguments, variables, sondes...
  • Développer et déployer des applications avancées multi-containers avec Docker Compose
  • Concepts d’orchestration de conteneurs
  • Comprendre le concept d’applications «Orchestrator-ready»
  • Comprendre l’architecture de Kubernetes : Les différents types et rôles des nœuds
  • Notion de pods, service, stockage et déploiements
  • Gérer le cycle de ses déploiements
  • Gérer les mises à jour des applications
  • Déploiement et partage des éléments de configuration
  • Comprendre les applications Stateless et Stateful
  • Comprendre les outils de l’écosystème Kubernetes
  • Déployer des applications complexes avec le manager Helm
  • Gérer le réseau avec le load balancer et les ingress traefik, nginx...
  • L’importance des services mesh avec Istio
  • L’importance des services des solutions de stockage
  • L’importance du monitoring de l’infrastructurelle et des applications

Le cours est découpé en plusieurs parties. Celles-ci pourront être réorganisées de manière différente en fonction du déroulement de la formation.

Objectifs opérationnels

Au terme de ce cours, les participants auront une connaissance pratique de Docker et de l’orchestration des conteneurs en production.

Programme

Contenu du cours

Jour 1

La sécurité avec Docker

Éléments à risque : noyau, conteneurs, Docker daemon...
Quelques bonnes pratiques d’administration
Scan de vulnérabilité des images
Utilisation d’Harbor pour sécuriser ses images
Les bonnes pratiques dans le Dockerfile
La capability Linux/SysCall

Dockerfile : Build d’images avancées

Présentation d’un environnement de build
Les variables du fichier .env
Les instructions : HEALTHCHECK...
La construction multi-stage
Rendre dynamiques ses builds avec les arguments et variables
Le DockerIgnore
Travaux pratiques :Déploiement d’un environnement de construction d’image destiné à la production

Fonctions avancées de Docker Compose

Retour sur Docker Compose
Construire des images avec Docker Compose, les contextes
Rendre dynamiques ses fichiers Compose avec les variables et le fichier .env
Configuration avancée du réseau
Configuration avancée des volumes
Gérer les logs Docker avec ELK
Travaux pratiques :Créer un environnement complexe et dynamique avec le fichier .env et les variables
Configurer un réseau
Configurer des volumes distants NFS...
Mise en œuvre d’une stack de journalisation avec la suite Elastic, Kibana...

Jour 2

Orchestration des conteneurs

Concepts d’orchestration des conteneurs

Comprendre l’orchestration, la haute disponibilité, la mise à l’échelle des applications
Comprendre l’architecture d’un orchestrateur de conteneurs
Le manifest YAML
La notion de pods, de service, de stockage et de déploiements
Gérer les sondes, les ressources dans les pods
Comprendre les applications Stateless et Stateful
Travaux pratiques :Créer nos premiers pods
Gérer les ressources dans les pods
Gérer des sondes d’activité des pods

Le déploiement d’applications

Comprendre la ressource Kubernetes «deployment»
Comprendre la réplication des pods et leur cycle de vie
Comprendre et savoir gérer les mises à jour des deployments, rollouts…
Travaux pratiques :Créer et déployer notre déploiement d’applications
Administrer les ressources dans les pods
Créer des sondes d’activité dans les pods

La communication réseaux

Comprendre la ressource Service
Comprendre et savoir exposer nos applications aux utilisateurs
Comprendre et savoir faire communiquer nos applications entre elles
Travaux pratiques :Exposer des applications par ports - NodePort
Exposer des applications par IP – LoadBalancer
Créer un réseau interne pour nos applications – Cluster IP
Exposer ses applications via des URLs avec les Ingress

Le stockage pour nos applications

Comprendre la gestion des Volumes avec Kubernetes, PV, PVC...
Savoir fournir du stockage dynamique a nos déploiements
Connecter le stockage avec les pods
Travaux pratiques :Créer une demande de stockage dynamique
Associer le stockage avec ses applications

Le déploiement d’applications avec états

Comprendre la ressource Kubernetes «StatefulSets»
Comprendre le déploiement d’applications avec états
Exemple d’une base de données Postgre clusterisée

Les projets de l’écosystème Kubernetes

Revue de différents projets développés autour de Kubernetes via la Cloud Native Computing Foundation
(Containerd, Istio, Rook,  Argo CD, Harbor, Fluentd, Prometheus...)
Packaging et déploiement d’applications complexes avec Helm
Comprendre l’implication des services Mesh, les réseaux maillés avec Istio
Étude des solutions de stockage pour Kubernetes, cephfs, Rook
Étude de cas du monitoring avec Prometheus et Grafana
Travaux pratiques :Déployer des applications complexes avec le gestionnaire Helm
Mettre en œuvre le réseau maillé avec Istio

Programme mis à jour le 02/06/2025

Formations liées