Formation #VSC223

Formation Cycle Docker

Durée : 5 jours

Code : VSC223


Prochaines dates programmées :

Du 11 au 15 Nov. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
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
  • Mettre en oeuvre les fonctionnalités avancées des conteneurs Docker
  • Etre en mesure d'assurer la disponibilité des applications
Programme

Partie 1 : Mise en oeuvre de Docker

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/ Mettre en œuvre en ligne de commande
  • Mettre en place un premier conteneur
  • Le Docker hub : ressources centralisées
  • Mettre en commun le stockage interconteneur
  • Mettre en commun le port TCP interconteneur
  • Publier les ports réseau
  • Le mode interactif
5/ 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
6/ 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
7/ 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
8/ 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
9/ 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...
10/ 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 ?

Partie 2 : Administration avancée

1/ Introduction
  • Namespaces et control groups (cgroups)
  • Comprendre l’architecture client-serveur de Docker
  • Docker Engine : fonctionnalités, rôle et commandes à connaître
  • La gestion des images Docker (transfert, portabilité, images intermédiaires…)
  • Meilleures pratiques pour écrire les Dockerfiles
  • Docker CE vs. Docker EE
2/ Docker daemon
  • Configurer le démon Dockerd
  • Les logs du daemon Docker
  • L'option socket pour les accès réseau
  • Variables d'environnement : DOCKER_HOST
3/ Le stockage Docker
  • Les différents types de stockage
  • Mise en oeuvre et configuration
  • File storage vs Block storage vs Object storage
  • Présentation de REX-Ray pour l’orchestration du stockage
4/ Distribution d’images avec Docker Registry
  • Pourquoi créer son propre registre ?
  • « pull » et « push » au sein du registre
  • Les alternatives Docker Hub et Docker Trusted Registry (DTR)
  • DTR : architecture, installation et configuration
  • Créer des organisations, équipes et rôles
  • Droits d’accès et mise en œuvre de l’authentification
  • Gestion avec Universal Control Plane (UCP)
5/ Docker Compose
  • Docker Compose : Présentation et architecture
  • Principaux cas d’usages de Docker Compose
  • Le format de fichier Compose et son évolution
  • Le binaire docker-compose et son utilisation
  • Exécuter une application multi-services avec Docker Compose
  • Les commandes utiles pour la gestion du cycle de vie des applications
6/ Déploiement d’hôtes avec Docker Machine
  • Docker Machine : Présentation et architecture
  • Mise en oeuvre et administration
  • Notions avancées
7/ Orchestration de conteneurs avec Docker Swarm
  • Retour sur les concepts d’orchestration de conteneurs
  • Docker Swarm : Présentation et architecture
  • Mise en place d'un cluster Docker
  • Déploiement d'applications avec Docker
  • Scalabilité des applications
  • Mettre un service à jour
  • Surveiller un cluster Swarm
  • Créer, stocker et gérer les secrets
  • Les alternatives Machine, Mesos et Kubernetes
  • Utiliser Docker Compose en mode Swarm
8/ Sécuriser Docker
  • Principes : analyse des risques, les types de dangers, les mécanismes de protection
  • Vue d'ensemble des bonnes pratiques de sécurité dans Docker
  • Protection des clients par certificats
  • Sécuriser l'hôte
  • Sécuriser Docker Engine
  • Sécuriser les images Notary
  • Sécuriser les applications
  • Sécuriser le cluster Swarm
  • L'isolation avec les namespaces
  • Limiter les ressources avec les Cgroups
  • Administrer les dockers secrets
  • Sécuriser les services avec TLS
  • Optimiser la surveillance de Docker
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
  • Architectes
  • Chefs de Projet
  • Développeurs
Dates

Dates

  • Du 11 au 15 Nov. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.