Accueil > Windows/Linux/Unix/Mac > Docker : administration
Formation #OS150

Formation Docker : administration

Durée : 4 jours

Code : OS150

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