Accueil > Virtualisation/Stockage/Cloud > Docker pour Linux : mise en oeuvre et déploiement de conteneurs virtuels
Formation #VSC230

Formation Docker pour Linux : mise en oeuvre et déploiement de conteneurs virtuels

Durée : 4 jours

Code : VSC230

Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Connaître les caractéristiques d'un conteneur Linux
  • Acquérir toutes les clés en main pour maîtriser Docker
  • Apprendre à créer et débuguer des conteneurs
  • Savoir mettre en œuvre des conteneurs personnalisés
  • Déployer des applications multiconteneurs
Programme
1/ Introduction
  • Retour sur les technologies de virtualisation
  • La conteneurisation : LXC, namespaces, control-groups
  • Présentation du concept de conteneur Linux
  • Cas d'utilisation des conteneurs Linux
  • Les différences entre conteneurs et machines virtuelles
  • Docker vs. virtualisation
2/ Découverte de Docker
  • L'histoire de Docker
  • Les Bénéfices par rapport aux machines virtuelles
  • Le positionnement de Docker (Kubernetes, Mesos…)
  • La terminologie et les concepts fondamentaux
  • L’architecture Docker : daemon, client, images, services…
  • L’écosystème Docker : Docker Cloud, Docker Compose, Docker Machine, Docker Hub…
  • Community Edition (Docker CE) vs. Enterprise Edition (Docker EE)
3/ Installer et configurer Docker
  • Installer l’environnement de développement (Docker Toolbox)
  • Vérifier l’installation, image Hello World
  • Les images et conteneurs
  • Isolation des conteneurs
  • Comprendre le processus de build Docker
  • Vue d'ensemble du Docker Hub et Docker Store
4/ Créer une image depuis un conteneur
  • Créer une image en utilisant un Dockerfile : instructions et bonnes pratiques
  • Les layers et la mise en cache
  • Publier des images vers un registry privé
  • Créer des conteneurs personnalisés
  • Gérer les conteneurs : lancement, arrêt, débogage…
  • Optimiser la création d’images
5/ Cycle de vie d’un conteneur
  • Volumes, bind mounts et tmpfs mounts (Linux)
  • Créer et utiliser les volumes Docker
  • Modifier les données dans un volume
  • Sauvegarder, migrer et restaurer des volumes
  • Créer des conteneurs de volumes de données
6/ La commande docker network et ses sous-commandes
  • Les différents types de réseaux : bridge, overlay, host, none, macvlan…
  • Serveur DNS intégré
  • Gestion des ports réseaux (port mapping)
  • Lier des conteneurs
  • Partager des données entre conteneurs
  • Plugins réseaux
7/ Mettre en œuvre une application multiconteneur
  • Utiliser Docker Compose
  • Créer un fichier YAML de configuration
  • Déployer plusieurs conteneurs simultanément
  • Lier tous les conteneurs de l'application
8/ 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...
9/ 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 ?
10/ Présentation de l’outil de provisioning Docker Machine
  • Installer et utiliser docker-machine
  • Docker Swarm : présentation et installation
  • Nœuds Manager et Worker
  • Configurer le Swarm Mode
  • Créer des services et des clusters
  • Gestion des clusters : ajouter des nœuds, déployer un service…
  • Service Discovery et répartition de charge (load balancing)
  • Gérer les données sensibles avec les secrets Docker
  • Présentation de Kubernetes, l’outil d’orchestration développé par Google
11/ Bonnes pratiques et outils
  • Gérer les logs des conteneurs
  • Monitorer des conteneurs
  • Intégration continue
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Administrateurs systèmes
  • Développeurs