Quels sont les buts de la formation ?
Programme de la formation
Introduction
Les différentes formes de virtualisation et leur concept
Présentation des avantages et des cas d'utilisation des conteneurs
Présentation de Docker et de son architecture
Prendre en main Docker
Installer Docker
Utiliser les commandes de base du client Docker
Expliquer un conteneur et son cycle de vie
Instancier un conteneur (mode interactif, mode détaché)
Administrer et superviser un conteneur depuis le docker host (exec, inspect, logs...)
Atelier pratique : Mise en place de Docker, démarrer et administrer un premier micro service
Manipuler des images Docker
Présentation du concept d'images Docker (Docker Hub, images personnalisées)
Les différentes méthodes de conception d'une image Docker
Créer une image à partir d'un conteneur (commit)
Créer une image à partir d'un Dockerfile
Les instructions dans un Dockerfile (FROM, COPY, ADD, EXPOSE, ENTRYPOINT, CMD)
Gérer le cycle de vie des images (labels, tags, versionning mineur/majeur)
Sélectionner et récupérer une image depuis la communauté Docker Hub
Le concept des layers et du cache (optimisation)
La registry et le stockage des images (registry privée, registry Docker Hub )
Atelier pratique : Création, installation d'images. Mise en place d'une registry privée et gérer ses images
Configurer le réseau pour Docker
Le conteneur dans son réseau (stack réseau Docker)
Le port forwarding (PAT)
Liaisonner des conteneurs (links)
Les différents réseaux proposés par Docker (drivers, les impacts et cloisonnements)
Atelier pratique : Faire communiquer les conteneurs, mise en place d'un LEMP à partir de 3 conteneurs : PHP, MySQL, nginx.
Gérer les systèmes de fichiers pour Docker
Le principe de volumes associés à un conteneur
Créer et persister des volumes docker
Gérer les modèles de configuration et leurs bonnes pratiques
Atelier pratique : Créer des volumes sur son Docker host pour persister et visualiser les données des conteneurs
Réaliser une Infrastructure As Code avec Docker
Introduction au DevOps
Docker-compose : la solution pour créer, assembler et administrer son service de conteneurs
Mettre en place un contrôle de l'exécution
Atelier pratique : Mise en place d'un LEMP avec Docker-compose à partir de 3 conteneurs précédemment abordés : PHP, MySQL, nginx
Appréhender le déploiement à grande échelle avec Docker
Les enjeux
Docker-machine ( créer rapidement sa plateforme Docker avant mise en production)
L'orchestrateur Swarm : nodes, services
Déploiement de services et stacks dans un Swarm
Comment sécuriser l'infrastructure Docker (TLS/SSL, Apparmor et SeLinux)
Interface de management (Portainer)
Présentation des outils de déploiements et de gestion de configuration (ansible, puppet, salt)
Présentation des différents orchestrateurs
Démonstrations : Créer un cluster Docker Swarm. Déployer une stack Docker. Administrer la stack (scale)