Formation Docker
Docker est une plateforme open source qui permet de créer, de déployer et de gérer des applications dans des conteneurs logiciels. Les conteneurs Docker permettent d'isoler les applications de leur environnement d'exécution, ce qui rend le déploiement plus facile et plus fiable. Les conteneurs Docker sont légers, portables et peuvent être exécutés sur n'importe quel système d'exploitation, ce qui simplifie considérablement le processus de développement et de déploiement des applications. En utilisant Docker, les développeurs peuvent créer des environnements de développement standardisés et les déployer facilement sur des serveurs de production. Les opérateurs système peuvent également utiliser Docker pour gérer les infrastructures en conteneurs, ce qui leur permet de provisionner rapidement des environnements d'exécution pour les applications, de les mettre à jour et de les surveiller de manière centralisée.
Objectifs pédagogiques
- Mettre en oeuvre Docker en utilisant la ligne de commande
- Créer et héberger ses images Docker
- Gérer Docker en production
- Orchestrer et clusteriser ses images
Pré-requis
- Utilisation de la ligne de commande
- Maitrise des outils utilisés dans des applications (serveurs, base de données...)
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
De la virtualisation à Docker
- Les différents types de virtualisation.
- La conteneurisation : LXC, namespaces, control-groups.
- Le positionnement de Docker.
- Docker versus virtualisation.
Présentation de Docker
- L'architecture de Docker.
- Disponibilité et installation de Docker sur différentes plateformes (Windows, Mac et Linux).
- Création d'une machine virtuelle pour maquettage.
- La ligne de commande et l'environnement.
Mise en œuvre en ligne de commande
- Mise en place d'un premier conteneur.
- Le Docker hub : ressources centralisées.
- Mise en commun de stockage interconteneur.
- Mise en commun de port TCP interconteneur.
- Publication de ports réseau.
- Le mode interactif.
Jour 2
Création de conteneur personnalisé
- Produire l'image de l'état d'un conteneur.
- Qu'est-ce qu'un fichier Dockerfile ?
- Automatiser la création d'une image.
- Mise en œuvre d'un conteneur.
- Conteneur hébergeant plusieurs services : supervisor.
Mettre en œuvre une application multiconteneur
- Utilisation Docker Compose.
- Création d'un fichier YML de configuration.
- Déployer plusieurs conteneurs simultanément.
- Lier tous les conteneurs de l'application.
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...
Jour 3
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 ?
Orchestration et clustérisation
- Présentation de Docker Machine.
- L'orchestrateur Swarm : nodes, services, secrets, configs.
- Déploiement de services et stacks dans un Swarm.
- Reverse-proxy et load-balancer pour Web Services en cluster (Traefik...).
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation