Docker est un projet open source qui permet d’automatiser le déploiement d’applications dans des conteneurs logiciels. Il peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n’importe quel serveur. Cette formation vous permettra de comprendre les concepts d’isolation et de conteneurisation dans un environnement Linux, de créer vos propres images, conteneurs, réseaux virtuels, via Docker Engine, Dockerfile, Docker-compose... Elle s’effectuera sur la dernière version de Docker, sur Rocky Linux ou Ubuntu server.
Résumé
Logiciels : systèmes Windows 10, OS/X, GNU+Linux et Docker
Durée : 21 heures
Objectifs :
Installer, paramétrer et exploiter Docker dans un contexte d’intégration continue (CI / CD)
Utiliser et créer ses propres images personnalisées
Paramétrer, déployer, automatiser, et standardiser les environnements
Gérer ses conteneurs et la sécurité des environnements en maîtrisant les ressources système
Créer des réseaux sécurisés et isolés, afin de protéger ses données sensibles
Gérer ses volumes : statiques, bind
Publier ses services sur le réseau
Gérer les variables ARG et ENV, et les secrets
Utiliser les formats pour filtrer les informations
Orchestrer ses conteneurs dans des machines virtuelles
Utiliser des interfaces graphiques (Portainer, Netdata…)
Assurer la haute disponibilité, et la montée en charge (scalability) via swarm
Utiliser les HealthCheck pour auditer l’état de santé des conteneurs
Acquérir une autonomie sur Docker.
Pré-requis : aisance sur les systèmes Linux et l’éditeur VI
Publics : Administrateur / ingénieurs systèmes / réseaux, DevOps - Développeurs, Lead dev. - Responsable de pôle technique, CTO - Scrum master, Chefs de projets infrastructures
Méthodes mobilisées : Alternance d’apports théoriques et d’exercices de mise en application pratique.
Modalités et délais d’accès : Sur inscription préalable au minimum 1 semaine avant le début de la formation selon disponibilité du formateur.
Modalités d’évaluations : Une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap : toutes nos formations sont accessibles aux personnes en situation de handicap, qu’il soit moteur, visuel, auditif ou cognitif ; quelles qu’en soient les particularités.
Nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement. Nos locaux sont en rez-de-chaussée avec des places de parkings extérieures juste devant l’entrée du bâtiment. Aussi, merci de nous informer de vos besoins d’adaptation ; les échanges peuvent se faire et rester en toute confidentialité.
Taux de satisfaction 2i2l : 90% des stagiaires sont "très satisfaits", "satisfaits" ou "plutôt satisfaits" à l’issue de leur formation. La durée de la formation est conseillée sur 3 jours plutôt que 2 initialement.
Tarif : pour une demande de formation interne, nous consulter
Présentation
Docker est un logiciel libre qui automatise le déploiement d’applications dans des conteneurs logiciels [1].
le site officiel de Docker
la forge de Docker
la licence Docker Apache 2.0
les licences des applications Docker
Card du landscape cncf.io
l’article Wikipédia
Programme
Introduction
Contexte agile
Devops
La sécurité avec devsecops
Cattle not pets
Installation
Procédure
Installation manuelle
Installation via un script
Post-installation
Premiers pas
Aperçu des commandes
Installation d’un conteneur
Récupération de l’image
Création d’un conteneur
Démarrage de conteneurs
Arrêt / suppression de conteneurs / images
Copie de fichiers
Paramètres de démarrage
Modification des caractéristiques
Images & layers & containers
Modèle en couches
Pilotes et systèmes de fichiers
Conversion d’un conteneur en image
Options de conversion
Archivage d’une image
Gestion des images
Utilisation de dépôt
Dockerfile
Les principales commandes
Multi staged builds
Git
Supervisord
Exercice
Security by default
Privacy by design
Accountability
Volumes
Création d’un volume
Création à la volée
Droits sur les conteneurs
Gestion des volumes
Bind et tmpfs
Montage d’un répertoire sur l’hôte
Montage bind d’un fichier sur l’hôte
Montage bind avec docker-compose
Montage d’un volume dans la mémoire vive
Docker-compose
Docker-compose.Yml
Docker-compose + dockerfile
Arrêt et désinstallation
Les outils d’adminitration
Portainer
Netdata
Ctop
Lazydocker
Healthcheck
Ligne de commande
Dockerfile
Docker-compose
Service apache
Service postgresql
Service mariadb
Service mysql
Service redis
Service ssh
Annuaire openldap
Les variables arg, env et les secrets
Arg
Dockerfile
Docker-compose
Env
Docker run
Dockerfile & entry point
Les fichiers d’environnements
Les secrets
Les reseaux
Créer un réseau
Réseau host
Réseau classique (bridge)
Réseau internal
Création à la volée
Réseau overlay
Réseau none
Ip fixes
Dans un réseau existant
Dans un nouveau réseau
Les formats
Securite
Namespace
Principes
Exemples
Cgroups
Ressources en mémoire vive
Ressources processeur
Docker-compose
Linux capabilities
Les privilèges
Le mode privilégié