Public
Cette formation s'adresse aux administrateurs système, chefs de projet, développeurs d'applications et toute personne souhaitant utiliser Docker pour déployer des applications.
Pré-requis
Les participants doivent avoir des connaissances de base en environnement Unix/Linux.
Objectifs
- Comprendre le rôle de Docker et des conteneurs dans la virtualisation.
- Utiliser efficacement l'interface en ligne de commande de Docker pour créer et gérer des conteneurs.
- Déployer des applications dans des environnements conteneurisés.
- Administrer les conteneurs pour assurer leur bon fonctionnement.
- Déployer rapidement des applications en utilisant Docker.
- Identifier les défis et les risques associés à l'utilisation de Docker et anticiper les solutions appropriées.
Programme
De la virtualisation à Docker:
- Comparaison des différents types de virtualisation.
- Concepts de la conteneurisation : LXC, namespaces, control-groups.
- Positionnement de Docker par rapport à la virtualisation traditionnelle. Présentation de Docker:
- Architecture de Docker.
- Installation de Docker sur différentes plateformes (Windows, Mac et Linux).
- Création d'une machine virtuelle pour des essais.
- Utilisation de la ligne de commande et de l'environnement Docker. Mise en œuvre en ligne de commande:
- Création et configuration d'un premier conteneur.
- Utilisation du Docker Hub pour accéder aux ressources centralisées.
- Partage de stockage et de ports TCP entre conteneurs.
- Publication de ports réseau.
- Utilisation du mode interactif pour interagir avec les conteneurs. Création de conteneurs personnalisés:
- Construction d'une image à partir de l'état d'un conteneur.
- Utilisation des fichiers Dockerfile pour automatiser la création d'images.
- Déploiement et gestion d'un conteneur hébergeant plusieurs services avec Supervisor. Mise en œuvre d'une application multiconteneur:
- Utilisation de Docker Compose pour orchestrer des applications composées de plusieurs conteneurs.
- Création d'un fichier YAML de configuration pour déployer simultanément plusieurs conteneurs.
- Configuration des liens entre les conteneurs de l'application. Interfaces d'administration:
- Utilisation de l'API Docker et des services web pour administrer les conteneurs.
- Mise en place et utilisation d'un registre Docker privé avec Docker Registry ou Gitlab-CE. Administration des conteneurs en production:
- Automatisation du démarrage des conteneurs au démarrage du système.
- Gestion des ressources allouées aux conteneurs.
- Surveillance et gestion des logs des conteneurs.
- Mise en place de stratégies de sauvegarde adaptées. Orchestration et clustérisation:
- Présentation de Docker Desktop et de l'orchestrateur Swarm.
- Déploiement de services et de stacks dans un cluster Swarm.
- Utilisation de reverse-proxy et de load-balancer pour les services web en cluster avec des outils tels que Traefik.
- Création et gestion d'un cluster Swarm, publication et mise à l'échelle des services dans le cluster.
