Docker : découvrir et maitriser les fondamentaux du système moderne de conteneurisation
Dans le domaine du développement d'applications, Docker est une plateforme open source destiné à faciliter le déploiement grâce à la mise en œuvre d'un système de conteneurs. C'est un outil très puissant puisqu'il offre la flexibilité et la portabilité pour exécuter une application dans différents environnements. Bien plus qu'un outil, la solution Docker est une référence pour le développement et une alternative à l'utilisation des machines virtuelles. Elle est aujourd'hui utilisée chaque jour par de nombreuses startups.
En participant à notre formation de 3 jours, vous acquerrez les compétences de base pour travailler efficacement avec Docker. Vous plongerez dans les conteneurs Docker et explorerez ses fonctionnalités et son environnement. Vous y apprendrez notamment à l’installer, créer des conteneurs et des images, gérer les volumes de données, etc.
À la fin de ces cours Docker, vous saurez également comment créer et déboguer des conteneurs personnalisés, gérer des images et exécuter des applications modernes dans des multi-conteneurs. Enfin, vous maîtriserez l'administration des conteneurs et serez en mesure d'utiliser les fonctionnalités de déploiement en mode production en appliquant les bonnes pratiques Docker.
Objectifs
À la fin de la formation Docker, vous atteindrez les objectifs d'apprentissage suivants :
- comprendre le fonctionnement des conteneurs logiciels ;
- découvrir la technologie Docker (ses avantages, son architecture, ses modules et les versions disponibles) ;
- assimiler le jargon et les fondamentaux Docker ;
- Installer, configurer et créer un conteneur virtuel avec Docker ;
- créer des images et des conteneurs personnalisés avec Docker ;
- gérer le stockage persistant et les données ;
- connaître le fonctionnement du réseau Docker et l'administrer ;
- définir et exécuter des applications multi-conteneurs avec Docker compose;
- mettre en œuvre un clustering et une orchestration de conteneurs ;
- utiliser les bons outils et appliquer les bonnes pratiques Docker en mode production.
Programme
Premier pas avec Docker et les conteneurs
- Synthèse sur les différentes solutions de virtualisation.
- Présentation et explication du fonctionnement d’un conteneur.
- Présentation de LXC (LinuX Containers).
- Comparaison des avantages de Docker par rapport aux VM.
- Position actuelle des technologies de conteneurisation sur le marché.
- Compréhension du vocabulaire et des principes de base de Docker.
- Visualisation de l'architecture de Docker (démon, client, images, services, etc.).
- Panorama des modules Docker (Docker Cloud, Docker Compose, Docker Machine, Docker Hub, etc.)
- Présentation et choix de la version de Docker (Docker Desktop et Docker HUB).
Installer Docker et se familiariser avec ses fonctionnalités.
- Installation et paramétrage de Docker Desktop pour Windows, Mac et Linux.
- Vérification de l'installation (activation des fonctionnalités et des composants).
- Tour d'horizon du tableau de bord, du système de création de conteneurs et de l'image de conteneurs.
- Création de conteneurs avec isolation.
- Compréhension du cycle de création de Docker.
- Présentation de Docker Hub et de Docker Store.
Lab informatique :
- installer Docker et préparer l'environnement de travail ;
- créer un conteneur et exécuter des commandes basiques.
Créer et gérer des images et des conteneurs personnalisés
- Création d'une image depuis un conteneur.
- Création d'une image en utilisant un fichier Dockerfile.
- Utilisation des layers et de la mise en cache.
- Diffusion d'images dans un répertoire privé.
- Création de conteneurs personnalisés.
- Démarrage, arrêt et débogage des conteneurs.
- Optimisation du processus de création d'images.
Lab informatique :
- créer, gérer et partager des images et des conteneurs personnalisés.
Gérer les volumes de stockage et la persistance des données
- Compréhension du cycle de vie d'un conteneur.
- Gestion des volumes sous Linux (montage bind et montage tmpfs).
- Création et gestion des volumes Docker.
- Modification des données dans un volume.
- Backup, migration et restauration des volumes.
- Création des conteneurs de volumes de données.
Lab informatique :
- mettre en pratique les bonnes méthodes en matière de gestion des volumes Docker.
Mise en réseau et gestion de base du réseautage Docker
- Exécution des commandes parent et enfants du réseau docker.
- Compréhension des divers types de réseaux (bridge, host, overlay, none et macvlan).
- Configuration du serveur DNS Docker.
- Configuration des accès au réseau (redirection de port).
- Connexion des conteneurs Docker.
- Configuration du partage de données entre les conteneurs.
- Installation et paramétrage de modules réseau.
Lab informatique :
- créer et administrer des réseaux Docker.
Présentation et utilisation de l'outil Docker Compose
- Vue d'ensemble et installation de Docker Compose.
- Exécution des commandes de bases.
- Création d'un fichier de configuration .yml.
- Implémentation d'une application multi-conteneurs.
- Intégration des microservices Docker Compose.
Lab informatique :
- créer un projet avec Docker Compose ;
- gérer de multiples conteneurs connexes.
Orchestrer et créer des clusters
- Présentation et installation de Docker Swarm (outil d'orchestration de conteneurs).
- Fonctionnement des nœuds de travail et des nœuds de gestion.
- Configuration du Docker Swarm.
- Création des services et des clusters.
- Création de nœuds et implémentation d'un service.
- Tour d'horizon des services et répartition de la charge.
- Gestion des données sensibles avec Docker secrets.
- Introduction à l'outil d'orchestration de conteneurs Kubernetes.
Lab informatique :
- créer un cluster multi-nœuds ;
- déployer des applications en mode SAAS ;
- exploiter les fonctions d'orchestration en utilisant Docker Machine, Docker Swarm et Docker Compose.
Travailler avec Docker en mode production
- Les bonnes pratiques et outils à utiliser en mode production.
- Gestion des logs des conteneurs.
- Monitoring des conteneurs.
- Mise en place d'un système d'intégration continue.
Lab informatique :
- exposé sur un flux de travail Docker de la phase de développement à la phase de production.
Prérequis
Suivre la formation Docker nécessite les prérequis suivants :
- avoir des compétences fondamentales en administration Linux et des notions du langage Shell Unix.
Ces 2 prérequis sont nécessaires pour la réalisation des travaux pratiques.
Public
Cette formation s'adresse aux publics suivants :
- les administrateurs d'applications, les architectes logiciel/applicatif ou les développeurs désireux de découvrir la technologie Docker et les meilleures pratiques opérationnelles pour le développement d'applications.
Points forts
Objectifs
À la fin de la formation Docker, vous atteindrez les objectifs d'apprentissage suivants :
- comprendre le fonctionnement des conteneurs logiciels ;
- découvrir la technologie Docker (ses avantages, son architecture, ses modules et les versions disponibles) ;
- assimiler le jargon et les fondamentaux Docker ;
- Installer, configurer et créer un conteneur virtuel avec Docker ;
- créer des images et des conteneurs personnalisés avec Docker ;
- gérer le stockage persistant et les données ;
- connaître le fonctionnement du réseau Docker et l'administrer ;
- définir et exécuter des applications multi-conteneurs avec Docker compose;
- mettre en œuvre un clustering et une orchestration de conteneurs ;
- utiliser les bons outils et appliquer les bonnes pratiques Docker en mode production.
Programme
Premier pas avec Docker et les conteneurs
- Synthèse sur les différentes solutions de virtualisation.
- Présentation et explication du fonctionnement d’un conteneur.
- Présentation de LXC (LinuX Containers).
- Comparaison des avantages de Docker par rapport aux VM.
- Position actuelle des technologies de conteneurisation sur le marché.
- Compréhension du vocabulaire et des principes de base de Docker.
- Visualisation de l'architecture de Docker (démon, client, images, services, etc.).
- Panorama des modules Docker (Docker Cloud, Docker Compose, Docker Machine, Docker Hub, etc.)
- Présentation et choix de la version de Docker (Docker Desktop et Docker HUB).
Installer Docker et se familiariser avec ses fonctionnalités.
- Installation et paramétrage de Docker Desktop pour Windows, Mac et Linux.
- Vérification de l'installation (activation des fonctionnalités et des composants).
- Tour d'horizon du tableau de bord, du système de création de conteneurs et de l'image de conteneurs.
- Création de conteneurs avec isolation.
- Compréhension du cycle de création de Docker.
- Présentation de Docker Hub et de Docker Store.
Lab informatique :
- installer Docker et préparer l'environnement de travail ;
- créer un conteneur et exécuter des commandes basiques.
Créer et gérer des images et des conteneurs personnalisés
- Création d'une image depuis un conteneur.
- Création d'une image en utilisant un fichier Dockerfile.
- Utilisation des layers et de la mise en cache.
- Diffusion d'images dans un répertoire privé.
- Création de conteneurs personnalisés.
- Démarrage, arrêt et débogage des conteneurs.
- Optimisation du processus de création d'images.
Lab informatique :
- créer, gérer et partager des images et des conteneurs personnalisés.
Gérer les volumes de stockage et la persistance des données
- Compréhension du cycle de vie d'un conteneur.
- Gestion des volumes sous Linux (montage bind et montage tmpfs).
- Création et gestion des volumes Docker.
- Modification des données dans un volume.
- Backup, migration et restauration des volumes.
- Création des conteneurs de volumes de données.
Lab informatique :
- mettre en pratique les bonnes méthodes en matière de gestion des volumes Docker.
Mise en réseau et gestion de base du réseautage Docker
- Exécution des commandes parent et enfants du réseau docker.
- Compréhension des divers types de réseaux (bridge, host, overlay, none et macvlan).
- Configuration du serveur DNS Docker.
- Configuration des accès au réseau (redirection de port).
- Connexion des conteneurs Docker.
- Configuration du partage de données entre les conteneurs.
- Installation et paramétrage de modules réseau.
Lab informatique :
- créer et administrer des réseaux Docker.
Présentation et utilisation de l'outil Docker Compose
- Vue d'ensemble et installation de Docker Compose.
- Exécution des commandes de bases.
- Création d'un fichier de configuration .yml.
- Implémentation d'une application multi-conteneurs.
- Intégration des microservices Docker Compose.
Lab informatique :
- créer un projet avec Docker Compose ;
- gérer de multiples conteneurs connexes.
Orchestrer et créer des clusters
- Présentation et installation de Docker Swarm (outil d'orchestration de conteneurs).
- Fonctionnement des nœuds de travail et des nœuds de gestion.
- Configuration du Docker Swarm.
- Création des services et des clusters.
- Création de nœuds et implémentation d'un service.
- Tour d'horizon des services et répartition de la charge.
- Gestion des données sensibles avec Docker secrets.
- Introduction à l'outil d'orchestration de conteneurs Kubernetes.
Lab informatique :
- créer un cluster multi-nœuds ;
- déployer des applications en mode SAAS ;
- exploiter les fonctions d'orchestration en utilisant Docker Machine, Docker Swarm et Docker Compose.
Travailler avec Docker en mode production
- Les bonnes pratiques et outils à utiliser en mode production.
- Gestion des logs des conteneurs.
- Monitoring des conteneurs.
- Mise en place d'un système d'intégration continue.
Lab informatique :
- exposé sur un flux de travail Docker de la phase de développement à la phase de production.
Prérequis
Suivre la formation Docker nécessite les prérequis suivants :
- avoir des compétences fondamentales en administration Linux et des notions du langage Shell Unix.
Ces 2 prérequis sont nécessaires pour la réalisation des travaux pratiques.
Public
Cette formation s'adresse aux publics suivants :
- les administrateurs d'applications, les architectes logiciel/applicatif ou les développeurs désireux de découvrir la technologie Docker et les meilleures pratiques opérationnelles pour le développement d'applications.