Aller au contenu principal

PLB CONSULTANT : 02. Docker, créer et administrer des conteneurs virtuels d'applications

Organisme

PLB CONSULTANT
3-5 RUE MAURICE RAVEL
92300 LEVALLOIS PERRET
Voir toutes ses formationsAutres organismes proposant cette formation

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
992.25€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
3969€ HT / groupe
4 stagiaires minimum

Public

Administrateurs, Chefs de projet, Développeurs d'applications, toute personne souhaitant mettre en œuvre Docker pour déployer ses applications…

Pré-requis

Avoir les connaissances de base de l’environnement Unix/Linux.

Objectifs pédagogiques

  • Comprendre le positionnement de Docker et des conteneurs
  • Savoir mettre en œuvre la solution ainsi que les produits de l'écosystème pour déployer rapidement des applications à l'aide de conteneurs
  • Manipuler l'interface en ligne de commande de Docker pour créer des conteneurs
  • Administrer des conteneurs
  • Identifier les risques et challenges inhérents à Docker afin d’anticiper les bonnes solutions

Programme détaillé

Jour 1

Présentation de Docker

Les différents niveaux de virtualisation (système, applicatif)

Avantages de la virtualisation applicative

DevOps, des nouveaux outils et de nouvelles habitudes de travail

Comprendre l’Infrastructure As Code

Vocabulaire autour du paysage informatique (Web Services, Micro-services, SOA, CI/CD, etc.)

La place de Docker et des conteneurs dans ce paysage

Travaux pratiques

Séquence de travail type d’un utilisateur de Docker pour bien comprendre les fonctionnalités apportées par Docker et en quoi il change les habitudes techniques et organisationnelles des équipes.

 

Architecture de Docker

Client et moteur Docker

Les composants de base : images, registry, container

Comprendre le daemon Docker et l’architecture client/serveur, l’API Docker

Les éditions de Docker

Implémentation sous Linux et Windows

La gestion des images Docker

Kernel, images et conteneurs

Ecosystème Docker (Docker Hub, Docker registry, Dockerfile, Docker Compose)

Docker Desktop

Docker et le Cloud

Travaux pratiques

Installation de Docker Community Edition

Initiation aux conteneurs

Présentation d'un conteneur

Création d'une image

Exploitation applicative standard

Exploitation applicative du stockage

 

Images et conteneurs Docker

Liens entre image et conteneur

Qu’est-ce qu’un registry de conteneurs ?

L’exemple de Docker Hub

La registry privée

Nomenclature d’appels de conteneurs

Savoir télécharger (pull) des images, comprendre le nommage des images Docker

Créer un compte sur le Hub Docker et pousser (push) des images via la CLI Docker

Comprendre l’historique des images

Administrer les images en local, nommage, suppression, le cache

Principes d’instanciation d’un conteneur

Créer une image à partir d’un conteneur

Gestion de la console au quotidien

Travaux pratiques

Navigation dans le Docker Hub

Administrer ses images, pull, tag, push, history...

Créer un compte sur le registre

Envoyer des images dans le registre Docker (Hub Docker)

Créer un registre privé

Administrer ses conteneurs avec les options du run

Se connecter sur les conteneurs

Installation d’applications Web dans un conteneur et création d’images à partir de ce dernier

 

Docker et le réseau

Comment exposer ses images vers l’extérieur ?

Comprendre le réseau Docker

La notion de publication de port

Publier des ports avec publish

Créer des réseaux Docker, dchp, dns

Communications inter conteneurs

Travaux pratiques

Tests de l’exposition de nos images selon différents modes de configuration du réseau (bridge, hôte, join, link)

 

Les volumes de données avec Docker

Le problème de la persistance dans les conteneurs

Gestion du stockage

Bien maîtriser les volumes Docker, bind, files, volumes distants

Identification des volumes orphelins

Travaux pratiques

Créer des volumes Docker

Associer des systèmes de fichiers avec vos conteneurs (local et distant)

 

Jour 2

Dockerfile

Comprendre la construction d’image avec le Dockerfile

Les instructions du Dockerfile :FROM, RUN CMD, ENTRYPOINT

Les bonnes pratiques (nettoyage, lancement des services, sécurité…)

Déployer son propre registre Docker

Présentation d’Harbor

Travaux pratiques

Création d'une image à l'aide de Dockerfile

Optimisation de la création des images

Créer une image MongoDB à l’aide de la description GitHub

Création d’une image LAMP

Construction, déploiement d’un registre Docker via Dockerfile

Identification et push d’images personnalisé sur le registre

 

Application multi-conteneurs (docker-compose)

Comprendre l’orchestration des Micro services avec docker-compose

Le format yaml de fichier défini par docker-compose

La commande docker-compose

Mon premier service

Le réseau avec docker-compose

Les volumes de données avec docker-compose

Les dépendances entre services

Mise à jour des services

Travaux pratiques

Déploiement d’une application Web, PHP, SQL, hautement disponible avec HAProxy, Apache...

Déploiement d’une stack de journalisation avec la suite ELK (Elasticsearch, Logstash, Kibana)

Configurer la journalisation avec Docker-compose

 

Fonctions avancées de docker-compose

Construire des images avec docker-compose, les contextes

Rendre dynamiques ses fichiers compose avec les variables et le fichier .env

Les sondes de vitalité et de disponibilité

Comprendre les labels

Configuration avancée des volumes

Le Rollback et update des services

Travaux pratiques

Créer un environnement complexe avec le fichier. env et les variables

Créer des sondes vitalité health check

Créer des labels pour échanger avec le démon Docker et d’autres applications Docker

Gérer ses mises à jour

 

Jour 3

Sécurité

Éléments à risque : noyau, conteneurs, Docker daemon...

Quelques bonnes pratiques d’administration

Scan de vulnérabilité des images

Les bonnes pratiques dans le Dockerfile

La capabilities Linux/Syscall

Travaux pratiques

Sécurisation des images et tests d’accès

 

Exploitation de docker au quotidien

Les plugins Docker

Administration des plugins

Principe de la copie sur écriture (CoW)

Intégration à Docker de la copie sur écriture

Les pilotes de stockage Docker (AUFS, OverlayFS, DeviceMapper…)

Configuration du daemon Docker

Démarrage automatique des services

Gestion des logs

Restriction sur les ressources

Protection du contenu d’un conteneur

Bonnes pratiques de sécurité

Travaux Pratiques

Implémentation d’un plugin de stockage

Redémarrage automatique

Déploiement d’un frontal web d’administration

 

Quiz autour de l’interprétation de dysfonctionnements rencontrés dans les logs

 

Introduction à l’intégration continue avec GitLab/Jenkins

Retour sur l’automatisation de sa chaine de production

Construire et pousser des images Docker avec Jenkins et GitLab

Le Dockerfile et Jenkinsfile

Travaux pratiques

Mise en place d’un pipeline d’intégration continue avec GitLab et Jenkins

 

Introduction à l’orchestration de conteneurs

Limites de Docker seul et apport d’un orchestrateur (haute disponibilité, scalabilité…)

Comprendre l’architecture d’un orchestrateur de conteneurs

Dialogue entre les noeuds d’un cluster

Les exemples de Swarm et Kubernetes

Le vocabulaire de Kubernetes (pods, service…)

Comprendre les applications stateless et statefull

Travaux Pratiques

Démonstration du formateur pour comprendre comment s’exécutent les images Docker dans un contexte d’orchestration et la plus-value concrète d’un outil comme Kubernetes pour les développeurs (déploiement d’une application LAMP à haute disponibilité par exemple)

 

Quiz final d’évaluation des acquis

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.