Administrateurs, Chefs de projet, Développeurs d'applications, toute personne souhaitant mettre en oeuvre Docker pour déployer ses applications…
A l’issue de la formation, le stagiaire sera capable de construire et de gérer des conteneurs d’applications avec la solution Docker et les produits de son écosystème
|
Positionnement de Docker et des conteneurs |
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
|
|
Principe et architecture |
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. Apports de Docker : Docker Engine pour créer et gérer des conteneurs Dockers. Plateformes supportées. L'écosystème Docker
|
|
Mise en oeuvre la solution ainsi que les produits de l'écosystème pour déployer rapidement des applications à l'aide de conteneurs |
Installation et configuration Prérequis techniques.Atelier : installation sur Linux. Mise en oeuvre des scripts fournis par Docker pour l'installation. Création d'un groupe Docker.
|
|
Manipuler l'interface en ligne de commande de Docker pour créer des conteneurs. |
Mise en oeuvre en ligne de commande. Atelier : Démarrage d'un container simple. Configuration de Docker et des containers. Démarrage automatique des containers, contrôle avec systemd, limitation des ressources.
|
|
Administrer des conteneurs |
Gestion des images et des conteneurs Création de nouvelles images.Principe des DockerFile.Atelier : 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.Atelier : Publication d'images vers un registry.
|
|
Volumes de données |
Initialisation des volumes de données lors de la création d'un container. Création de conteneurs de volumes de donnéesAtelier : ajout de volumes de données, contrôle avec la commande Docker inspect;Sauvegarde, migration, restauration de volumes
|
|
Présentation de Docker Compose |
Applications de multi-containers avec Compose
|
|
Docker engine |
Fonctionnalités, installation et configuration
|
|
Le service Docker |
Docker daemon : rôle, configuration des principales options. Option socket pour les accès en réseau. Variables d'environnement : DOCKER_HOST, et DOCKER_TLS_VERIFY Option storage-driver : définition des formats de stockage des images. Gestion de noeuds avec l'option -cluster-advertiseAtelier : Configuration des accès réseau et de clusters Docker
|
|
Administration en production |
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. Applications multi-containers : définition de l'environnement applicatif, déclaration des services dans docker-compose.yml, exécution avec docker-compose. Méthodes d'administration de containers en production. Orchestration avec Docker Machine.Atelier : exemples de provisionning en environnement mixte, dans le cloud et sur des machines physiques.
Présentation de Swarm pour le clustering : fonctionnalités, gestion de clusters docker,équilibrage de charge, répartition de tâches, gestion de services répartis, ...
|
|
Identification des risques et challenges inhérents à Docker afin d'anticiper les bonnes solutions |
Sécurité Analyse des points à risques : le noyau, le service Docker, les containers, ... Analyse des types de dangers : déni de service, accès réseau non autorisés, ... Mécanismes de protection : pile réseau propre à chaque container, limitations de ressources par les cgroups, restrictions des droits d'accès sur les sockets, politique de sécurité des containers.Atelier : mise en évidence de failles de sécurité et des bonnes pratiques à adopter.
Sécurisation des clients par des certificats Principe, et mise en oeuvre avec openssl. Fiabilité des images déployées dans Docker. Configuration réseau, sécurité et TLS
|