Docker : mise en œuvre - DO003

Objectifs

Comprendre et savoir mettre en oeuvre Docker, et les produits de l'ecosystème pour déployer des images tout en intégrant les contraintes de production.

Programme

1. Introduction

Présentation docker, principe, fonctionnalités
Besoins : packaging d’applications, déploiements rapides,
coexistence de plusieurs versions d’une application sur un même serveur.
Les différentes éditions et leurs fonctionnalités : Docker Enterprise Edition, Docker Community Edition, Docker Cloud

2. Principe et architecture

Les conteneurs lxc.
Présentation de lxc : Linux containers, historique, principe de fonctionnement.
Les Cgroups. L’isolation de ressources, création d’un environnement utilisateur.
Positionnement par rapport aux autres solutions de virtualisation.
Travaux pratiques : vérification puis activation des cgroups.
Installation lxc.
Exemples de fonctionnalités simples des lxc :
vérification de la configuration du noyau,
configuration et création de conteneurs avec lxc-create.
Exemple de busybox en pratique.
Les systèmes de fichiers superposés.
Présentation de aufs.
Apports de Docker : Docker Engine pour créer et gérer des conteneurs Dockers.
Plate-formes supportées.
L’écosystème Docker : Docker Machine, Docker Compose, Kitematic, Docker Swarm, Docker Registry

3. Installation et configuration

Prérequis techniques.
Tavaux pratiques : installation sur Linux
Mise en œuvre des scripts fournis par Docker pour l’installation.
Création d’un groupe Docker.
Mise en oeuvre en ligne de commande.
Démarrage d’un container simple.
Configuration de Docker et des containers.
Travaux pratiques :
démarrage automatique des containers, contrôle avec systemd,
limitation des ressources.

4. Gestion des images et des conteneurs

Création de nouvelles images.
Principe des DockerFile.
Travaux pratiques :
Utilisation de DockerFile pour créer des images personnalisées:
principales instructions (RUN, FROM, ENV, EXPOSE, etc …)
Recommandations et bonne pratiques d’écriture de DockerFile.
Gestion des conteneurs : création, affichage, sauvegarde de l’état
Exemple de déploiement d’une application web avec des containers.
Présentation du Docker Hub.
Publication d’images vers un registry.

5. Volumes de données

Initialisation des volumes de données lors de la création d’un container.
Travaux pratiques:
ajout de volumes de données, contrôle avec la commande Docker inspect;
Sauvegarde, migration, restauration de volumes
Création de conteneurs de volumes de données

6. Administration

Présentation des outils Swarm, Compose, Docker Machine
Fonctionnalités de swarm : cluster Docker, principe du mode swarm,
load balancing.
Démonstrations de load balancing.
Applications de multi-containers avec Compose
Méthode d’administration des containers en production.
Orchestration avec Docker Machine
Configuration réseau et sécurité dans Docker
Présentation des plugins Docker

Recherches

Tout le site Le catalogue

Liens directs