Alternative à la virtualisation, Docker étend la portabilité d’exécution d’une application grâce à ses conteneurs logiciels virtuels. Vous apprendrez dans cette formation à construire et à gérer des conteneurs. Vous mettrez en œuvre des conteneurs personnalisés et déploierez des applications multiconteneurs.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Comprendre le positionnement de Docker et des conteneurs
  • Manipuler l’interface en ligne de commande de Docker pour créer des conteneurs
  • Mettre en œuvre et déployer des applications dans des conteneurs
  • Administrer des conteneurs

Travaux pratiques

Les cas pratiques et TP seront réalisés en environnement Linux.
PROGRAMME DE FORMATION

De la virtualisation à Docker

  • Les différents types de virtualisation.
  • La conteneurisation : LXC, namespaces, control-groups.
  • Le positionnement de Docker.
  • Docker versus virtualisation.

Présentation de Docker

  • L’architecture de Docker.
  • Disponibilité et installation de Docker sur différentes plateformes (Windows, Mac et Linux).
  • Création d’une machine virtuelle pour maquettage.
  • La ligne de commande et l’environnement.

Travaux pratiques
Créer une machine virtuelle pour réaliser un maquettage.

Mise en œuvre en ligne de commande

  • Mise en place d’un premier conteneur.
  • Le Docker hub : ressources centralisées.
  • Mise en commun de stockage interconteneur.
  • Mise en commun de port TCP interconteneur.
  • Publication de ports réseau.
  • Le mode interactif.

Travaux pratiques
Configurer un conteneur en ligne de commande.

Création de conteneur personnalisé

  • Produire l’image de l’état d’un conteneur.
  • Qu’est-ce qu’un fichier Dockerfile ?
  • Automatiser la création d’une image.
  • Mise en œuvre d’un conteneur.
  • Conteneur hébergeant plusieurs services : supervisor.

Travaux pratiques
Créer un conteneur personnalisé.

Mettre en œuvre une application multiconteneur

  • Utilisation Docker Compose.
  • Création d’un fichier YAML de configuration.
  • Déployer plusieurs conteneurs simultanément.
  • Lier tous les conteneurs de l’application.

Travaux pratiques
Mettre en œuvre une application multiconteneur.

Interfaces d’administration

  • L’API Docker et les Web Services.
  • Interface d’administration en mode Web.
  • Héberger son propre registre : Docker Registry, Gitlab-CE…

Travaux pratiques
Construire et utiliser son propre registre.

Administrer des conteneurs en production

  • Automatiser le démarrage des conteneurs au boot.
  • Gérer les ressources affectées aux conteneurs.
  • Gestion des logs des conteneurs.
  • Sauvegardes : quels outils et quelle stratégie ?

Travaux pratiques
Administrer les conteneurs.

Orchestration et clustérisation

  • Présentation de Docker Machine.
  • L’orchestrateur Swarm : nodes, services, secrets, configs.
  • Déploiement de services et stacks dans un Swarm.
  • Reverse-proxy et load-balancer pour Web Services en cluster (Traefik…).

Travaux pratiques
Création d’un cluster Swarm. Gestion des nœuds dans le cluster. Publication et mise à l’échelle d’un service dans le cluster.