MJ Bright Formations – Formation Docker Auvergne Rhône Alpes

Technologies des moteurs À conteneurs

Les cours de formation disponibles sur les moteurs de conteneurs couvrent les principales technologies de moteurs de conteneurs de « Docker, Inc » et de « RedHat ».

Il existe d’autres moteurs à conteneurs, mais ils n’ont pas la facilité d’utilisation et la compatibilité OCI-* de ces technologies

*- OCI : Open Container Interface, un standard CNCF

  • Technologies des moteurs de conteneurs
    • Présentation de Docker, 2 jours
    • Introduction Podman/CRI-O, 2 jours

 

Docker

Les technologies de conteneurs existaient avant Docker, mais en mars 2013, lorsque DotCloud Inc. a fait la démonstration de Docker, elle a lancé une révolution des conteneurs en rendant les conteneurs et les applications informatiques plus faciles à développer et à déployer – plus faciles que jamais.

Docker a connu un tel succès que DotCloud – une entreprise d’hébergement – a abandonné son activité d’hébergement et l’a rebaptisée « Docker Inc. » pour poursuivre la puissante technologie qu’elle avait créée.

Comment Docker a-t-il transformé les conteneurs

Docker a permis de faire fonctionner facilement les conteneurs, mais pas seulement. Docker a poursuivi sa devise « Construire, expédier et exécuter » pour permettre aux développeurs de créer des images de conteneurs sur la base des images existantes et de réutiliser les images de conteneurs partagées sur le centre public de Docker.

INTRODUCTION À LA FORMATION DOCKER, 2 JOURS

Synopsis

Ce cours couvre toutes les caractéristiques de base de Docker, y compris la création et la gestion de conteneurs, l’interaction avec Docker hub, l’utilisation de Dockerfile pour créer et gérer des images personnalisées, réseau avancé Docker (comment exposer en toute sécurité les services de conteneurs au monde, et les conteneurs de liaison), l’utilisation des volumes Docker pour gérer les données persistantes, et Docker Compose pour créer des applications multi-conteneurs. L’accent est mis sur les meilleures pratiques et la façon de sécuriser les installations et les conteneurs Docker. Le cours se termine par des laboratoires complets où les étudiants utilisent Docker, Git et un serveur d’intégration continue pour automatiser le test des applications conteneurisées.

Prérequis

Maîtrise de la CLI Linux. Compréhension générale de l’administration du système Linux.

 

Plan de cours

Module 1 : Technologie des conteneurs

  • Historique de la gestion des applications
  • Isolement par conteneurisation
  • Mesure des ressources
  • Sécurité des conteneurs
  • BEC : Initiative des conteneurs ouverts
  • Écosystème Docker

Module 2 : Présentation de Docker

  • Installation
  • Docker Architecture
  • Démarrage du démon Docker
  • Configuration du démon Docker
  • Prise de commande Docker
  • Activation du protocole TLS pour Docker

Module 3 : Utiliser des contenants

  • Gestion des conteneurs
  • Docker run : Création de conteneurs
  • docker ps : Liste des conteneurs
  • Inspection des dockers : Visualisation des détails opérationnels des conteneurs
  • docker exec : Exécuter des commandes dans un conteneur existant
  • Interaction avec les conteneurs
  • Arrêt, démarrage et retrait des conteneurs
  • Copier des fichiers vers/depuis des conteneurs
  • Inspection et mise à jour des contenants

Module 4 : Utilisation des images de conteneurs

  • Images « Docker »
  • Liste et suppression d’images
  • Recherche d’images
  • Téléchargement d’images
  • Apporter des changements
  • Téléchargement d’images Exportation/Importation d’images
  • Enregistrer/charger des images

Module 5 : Créer des images de conteneurs

  • Création d’images avec Dockerfile
  • Format dockerfile
  • Mise en cache
  • création d’images de base
  • Mots-clés dockerfile
  • ENV et WORKDIR
  • RUN : Exécuter des commandes
  • AJOUTER/COPIER : Copier des fichiers dans l’image
  • EXEC/CMD : Définir un conteneur exécutable
  • Pratiques exemplaires

Module 6 : Stockage

  • Concepts de volume
  • Création et utilisation de volumes internes
  • Gestion des volumes
  • Modification des données dans les volumes
  • Suppression de volumes
  • Sauvegarder des volumes
  • Considérations relatives à SELinux
  • Dispositifs de cartographie

Module 7 : Orchestration avec Docker

  • Docker Compose/Swarm Concepts
  • docker-compose CLI
  • Définition d’un ensemble de services
  • Essaim de dockers
    • Mandataire Essaim Docker (Héritage)
    • SwarmKit
    • Docker Engine Swarm Mode (Moderne) Ø
  • docker init/join : Créer un essaim
  • Création de services

Module 8: Réseautage

  • Concepts
  • Noms d’hôtes et DNS
  • Réseaux désignés
  • Types de réseaux
  • Communication des conteneurs aux conteneurs
  • Conteneur à conteneur : Liens
  • Conteneur à conteneur : Réseau privé
  • Gestion des réseaux privés
  • Hôte distant vers conteneur
  • Réseaux multi-hôtes avec pilote de superposition

Module 9: Registres d’images

  • Docker Registry, Docker Hub
  • Sécurisation du registre des dockers
  • Docker Content Trust

Podman/CRI-O

RedHat a été un des premiers à adopter la technologie Docker et a décidé de réécrire sa technologie OpenShift PaaS pour utiliser Docker.

RedHat a longtemps été le deuxième contributeur majeur au projet Docker.

Cependant, frustré par la difficulté d’influencer la direction du projet Docker open source, RedHat a finalement décidé de mettre en œuvre son propre moteur de conteneur sous la forme de

  • Podman : un moteur de conteneur sans démon (utilisant les bibliothèques CRI-O)
  • CRI-O : un moteur de conteneur à base de daemon

Formation “introduction à Podman et CRI-O” 2 jours  

Synopsis

Ce cours couvre toutes les fonctionnalités de base de Podman et CRI-O, y compris la compatibilité avec les commandes Docker, la création et la gestion de conteneurs, l’interaction avec les registres d’images (Docker hub, quay.io, …), l’utilisation de Dockerfiles pour créer et gérer des images personnalisées, la mise en réseau avancée (comment exposer en toute sécurité les services de conteneurs au monde, et relier les conteneurs), l’utilisation des volumes pour gérer les données persistantes, et la création de manifestes Pod pour construire des applications multi-conteneurs. L’accent est mis sur les meilleures pratiques et la façon de sécuriser les installations et les conteneurs Podman. Le cours se termine par des laboratoires complets où les étudiants utilisent Podman, Git et un serveur d’intégration continue pour automatiser le test des applications conteneurisées.

Prérequis

Maîtrise de la CLI Linux. Compréhension générale de l’administration du système Linux.

 

Plan de cours

Module 1 : Technologie des conteneurs

  • Historique de la gestion des applications
  • Isolement par conteneurisation
  • Mesure des ressources
  • Sécurité des conteneurs
  • OCI : Open Container Initiative
  • Écosystème de conteneurs RedHat
    • Podman, Buildah, CRI-O, Skopeo

Module 2 : Présentation de Podman et du CRI-O

  • Installation
  • Architecture Podman
  • Architecture CRI-O
  • Démarrage du démon CRI-O
  • Configuration CRI-O
  • Prise de contrôle CRI-O

Module 3 : Utiliser des conteneurs avec Podman

  • Compatibilité avec les commandes Docker
  • podman run : création de conteneurs
  • podman ps : Liste des conteneurs
  • podman inspect : Affichage des détails opérationnels du conteneur
  • podman exec : Exécuter des commandes dans un conteneur existant
  • Interagir avec les conteneurs
  • Arrêt, démarrage et retrait des conteneurs
  • Copier des fichiers vers/depuis des conteneurs
  • Inspection et mise à jour des conteneurs

Module 4 : Travailler avec des images de conteneurs

  • Images « OCI »
  • Liste et suppression d’images
  • Recherche d’images
  • Téléchargement d’images
  • Validation des modifications
  • Télécharger des images Exporter/Importer des images
  • Enregistrer/Charger des images

Module 5 : Création d’images de conteneurs

  • podman build :/buildah Création d’images avec Dockerfile
  • Format de fichier conteneur (Dockerfile)
  • Mise en cache
  • construction d’image podman
  • Mots-clés du fichier conteneur
  • ENV et WORKDIR
  • RUN : Exécuter des commandes
  • AJOUTER/COPIER : copier des fichiers dans l’image
  • EXEC/CMD : Définition de l’exécutable du conteneur
  • Les meilleures pratiques

Module 6 : Stockage

  • Concepts de volume
  • Création et utilisation de volumes internes
  • Gestion des volumes
  • Modification des données dans les volumes
  • Suppression de volumes
  • Sauvegarder des volumes
  • Considérations relatives à SELinux
  • Dispositifs de cartographie

Module 7 : Orchestration avec Docker

  • podman generate : définition de pods multi-conteneurs
    • podman génère kube
    • podman génère systemd
  • podman play kube :
    • Créez des conteneurs, des pods ou des volumes basés sur Kubernetes YAML
  • Travailler avec Kubernetes

Module 8 : Réseautage

  • Notions
  • Noms d’hôte et DNS
  • Réseaux nommés
  • Types de réseau
  • Communication de conteneur à conteneur
  • Conteneur à conteneur : liens
  • Conteneur à conteneur : réseau privé
  • Gestion des réseaux privés
  • Hôte distant vers conteneur
  • Réseaux multi-hôtes avec pilote de superposition

Module 9 : Registres d’images

  • Quay.io, Registre Docker, Hub Docker, Port
  • Sécurisation du registre

Confiance dans le contenu