Administration des conteneurs Linux
Ce cours apporte tous les éléments nécessaires pour gérer des conteneurs applicatifs sous Linux. Il couvre aussi bien Docker, qui est l'implémentation la plus populaire dans l'industrie, que des implémentations alternatives comme Podman de Red Hat.
Ce cours explique tous les éléments indispensables à une compréhension approfondie du fonctionnement des conteneurs sous Linux et explique notamment comment créer des images de conteneurs personnalisées et installer des applications utilisant plusieurs conteneurs.
Plan de cours
Historique et technologies sous-jacentes
- cgroups, espaces de noms processus et réseau, chroot, overlayfs
- Installation de Docker (ou de Podman), conteneurs root et rootless
- Vocabulaire des conteneurs, concept DevOps, approches Cattle vs Pet
- Opérations de base sur les conteneurs et dépannage
- Exploration approfondie du fonctionnement des conteneurs sous Linux
- Persistence des données avec les volumes
Applications multi-conteneurs
- Création de réseau privé pour application
- Utilisation des pods et de systemd (Podman seulement)
- Utilisation de docker-compose (et podman-compose)
- Export et import de pods au format YAML (kube)
Construction d'images personnalisées
- Utilisation de Dockerfiles
- Approfondissement: entrypoints, commandes, scripts initiaux, etc.
- Optimisation de la taille des images
- Sauvegarde d'un conteneur dans une image, backup et restauration avec un tarball
- Utilisation de scripts shell avec Buildah
- Ajout des images à un registre privé ou public: hub.docker.com, Gitlab
- Manipulation des images avec Skopeo
- Démonstration de l'interface web Portainer
Clientèle visée
Administrateurs Linux et développeurs souhaitant déployer des applications conteneurisées sous Linux, membres des équipes DevOps.
Prérequis
Avoir suivi le cours SFL201 Administration Système Linux ou avoir une expérience d'administration système Linux équivalente, être familier avec les scripts et l'interface en mode ligne de commande.
Formations préalables:
Linux Concepts Fondamentaux (SFL101), Linux Administration Systeme (SFL201)