Formation LINUX Docker
Objectifs
Appréhender les namespaces, les control groups et la différence entre containers et machines virtuelles.
Installer Docker, utiliser le modèle client/serveur et créer des containers.
Créer des images avec Dockerfile, utiliser le multi-stages build et gérer le cache.
Mettre en place et utiliser un registry, comprendre les différentes options disponibles comme Docker Hub et Harbor.
Utiliser le fichier docker-compose.yml et déployer des applications multi-containers.
Expliquer la notion de volume et l’utiliser dans différents cas d’usage.
Appréhender les éléments de sécurité comme l’isolation, la limitation des ressources et les scans de vulnérabilités.
Utiliser des outils comme Prometheus et Netdata pour la supervision et gérer les logs avec Docker.
Pré-requis
Participants
Programme de formation
QUICK WINS
-
Les bénéfices immédiats de Docker
DES CONCEPTS UTILES
-
Architecture micro-services
-
Application Cloud Native
LES CONTAINERS LINUX
-
Qu'est-ce qu'un container ?
-
Namespaces
-
Control Groups
-
Containers et Machines Virtuelles
LA PLATEFORME DOCKER
-
Vue d'ensemble
-
Les différentes éditions
-
Modèle client/serveur
-
Installation
-
Online playground
-
Travaux pratiques
- Installation
LES CONTAINERS AVEC DOCKER
-
Création d'un container
-
Mode interactif
-
Foreground vs Background
-
Publication des ports
-
Les commandes de base
-
Des alias utiles
-
Travaux pratiques
- Création de containers
- Utilisation des commandes de base pour la gestion du cycle de vie
LES IMAGES DOCKER
-
Définition
-
Union filesystem & Copy-On-Write
-
Méthodes pour la création d'images
-
Dockerfile
-
Exemples
-
Le contexte de build
-
Multi-stages build
-
Gestion du cache
-
Les commandes de base
-
Travaux pratiques
- Création d'images
- Utilisation des différentes instructions d'un Dockerfile
- Utilisation du multi-stages build
REGISTRY
-
Utilisation
-
Les registries Docker
-
Autres registries de l'écosystème
-
Docker Hub
-
Démo de la solution Harbor
-
Travaux pratiques
- Déploiement du registry open source
DOCKER COMPOSE
-
Présentation
-
Le format de fichier docker-compose.yml
-
Les instructions de base
-
Le binaire docker-compose et son utilisation
-
Travaux pratiques
- Déploiement d'applications avec Docker Compose
- Exemple avec un stack Elastic
STOCKAGE
-
La notion de volume
-
Utilisation et cas d'usage
-
Travaux pratiques
- Création de volumes
SECURITE
-
Les éléments de sécurité avec Docker
-
Isolation (namespaces) et limitation des ressources (cgroups)
-
Linux Security Modules
-
Capabilities/Seccomp
-
Scan de vulnérabilités
OBSERVABILITE
-
Présentation de la stack Prometheus pour la gestion des metrics
-
Présentation de la solution Netdata
-
Gestion des logs avec Docker
-
Travaux pratiques
- Déploiement d'une stack Prometheus
- Envoi des logs applicatifs dans une solution tierce