L’environnement
Docker est le leader de la conteneurisation, il offre la possibilité de créer et de partager des images, de gérer et de sécuriser des conteneurs.
Le déploiement d’application est à l’interface entre le métier d’administrateur systèmes et réseaux et celui de développeur. Les avancées dans le domaine de la conteneurisation permettent aujourd’hui de relier ces deux mondes et apportent de nouvelles possibilités : isolation accrue des briques logiciels, chaîne de mise en production automatisée, reproductibilité et versionnage de l’intégralité de l’environnement, passage à l’échelle cloud…
La formation
Cette formation, conçue pour les administrateurs systèmes et réseaux ainsi que pour les développeurs, vous donnera les bases de la conteneurisation avec Docker et vous permettra de « conteneuriser » vos applications.
Objectifs pédagogiques
À l’issue de la formation, le stagiaire sera capable de :
- Comprendre les enjeux de la conteneurisation : apprendre l’historique de la conteneurisation, comprendre les différences avec la virtualisation et les raisons pour lesquelles la conteneurisation est souvent préférée
- Comprendre les mécanismes de la conteneurisation et comment elle permet l’isolation et le partage de ressources
- Savoir manipuler une image et lancer un container
- Connaître les bonnes pratiques
- Savoir concevoir et écrire un docker-compose pour le déploiement d’applications utilisant plusieurs conteneurs.
Public concerné
Administrateurs systèmes et réseaux, développeurs.
Prérequis
- Linux : bases de l’administration d’un système (arborescence, fichiers de configuration, services).
- Bash : commandes de base, écriture d’un script simple.
- Réseau : bases de TCP/IP (adressage, ports, routage).
- Architecture d’une application fullstack simple (proxy, backend, frontend, base de données).
Programme de la formation
Découverte de Docker (jour 1)
- Présentation de Docker :
– Histoire
– Comparaison avec la virtualisation
– Fonctionnement
– Intérêt - Manipulation de conteneurs (gestion du cycle de vie)
- Image Docker et Dockerfile :
– Concepts clés de la notion d’image
– Conception d’image simple
– Partage d’image avec un registre (Docker Hub ou
registre privé)
Conteneurisation d’une application (jour 2)
- Communication avec l’extérieur (réseau, volumes)
- Application multi-conteneurs et Docker Compose
Conteneurisation d’une application multi-conteneurs (jour 3)
- En partant d’une page blanche, quelle démarche pour conteneuriser une application multi-conteneurs (backend / frontend / base de données / proxy) ?
- Présentation d’outils de l’écosystème Docker (portainer, traefik…)
- Lien avec GitLab (versionnage, registre GitLab, CI / CD)
- Bonnes pratiques