Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:docker3:start [2022/07/19 11:04] – admin | elearning:workbooks:docker3:start [2024/02/21 13:45] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | |||
~~PDF: | ~~PDF: | ||
- | Version : **2022.01** | + | Version : **2024.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
- | ======DOF600 - Docker : Utilisation, | + | ======DOF600 - Prérequis====== |
- | =====Contenu du Module===== | + | ===== Matériel===== |
- | + | ||
- | * **DOF600 - Docker : Utilisation, | + | |
- | * Contenu du Module | + | |
- | * Prérequis | + | |
- | * Matériel | + | |
- | * Logiciels | + | |
- | * Internet | + | |
- | * Utilisation de l' | + | |
- | * Programme de la Formation | + | |
- | + | ||
- | =====Prérequis===== | + | |
- | + | ||
- | ==== Matériel==== | + | |
* Un poste (MacOS, Linux, Windows(tm) ou Solaris(tm)), | * Un poste (MacOS, Linux, Windows(tm) ou Solaris(tm)), | ||
Ligne 27: | Ligne 13: | ||
* 4 Go de RAM minimum, | * 4 Go de RAM minimum, | ||
* Processeur 2 cœurs minimum, | * Processeur 2 cœurs minimum, | ||
- | * Un casque ou des écouteurs, | ||
- | * Un micro (optionnel). | ||
- | ====Logiciels==== | + | =====Logiciels===== |
* Web Chrome version 72+ ou | * Web Chrome version 72+ ou | ||
Ligne 36: | Ligne 20: | ||
* Firefox version 65+. | * Firefox version 65+. | ||
- | ====Internet==== | + | =====Internet===== |
* Un accès à Internet **rapide** (4G minimum) **SANS** passer par un proxy, | * Un accès à Internet **rapide** (4G minimum) **SANS** passer par un proxy, | ||
- | * Accès **débloqué** aux ports 80 et 443 à : https:// | + | * Accès **débloqué** aux ports 80 et 443 à : https://www.ittraining.team **ainsi que ses sous-domaines**. |
- | + | ||
- | =====Utilisation de l' | + | |
- | + | ||
- | Au départ de votre formation, votre formateur vous attribue un ID allant de Trainee01 à Trainee12. | + | |
- | + | ||
- | Pour avoir accès à vos machines virtuelles, vous devez d' | + | |
- | + | ||
- | Il existe trois méthodes de connexion : | + | |
- | + | ||
- | ====1 - RDP, la méthode conseillée==== | + | |
- | + | ||
- | Ce type de connexion implique que vous ayez accès au port **3389** sur un de nos serveurs. En cas d' | + | |
- | + | ||
- | La connexion s' | + | |
- | + | ||
- | Les adresses IP de connexion sont les suivantes : | + | |
- | + | ||
- | ^ ID ^ Adresse IP ^ | + | |
- | | Trainee01 | 54.37.141.112 | | + | |
- | | Trainee02 | 51.83.167.160 | | + | |
- | | Trainee03 | 51.83.167.176 | | + | |
- | | Trainee04 | 51.83.167.144 | | + | |
- | | Trainee05 | 135.125.231.240 | | + | |
- | | Trainee06 | 51.38.110.144 | | + | |
- | | Trainee07 | 135.125.212.64 | | + | |
- | | Trainee08 | 145.239.1.236 | | + | |
- | | Trainee09 | 146.59.36.176 | | + | |
- | | Trainee10 | 146.59.37.0 | | + | |
- | | Trainee11 | 149.56.31.150 | | + | |
- | | Trainee12 | 54.39.53.71 | | + | |
- | | Backup01 | 145.239.253.177 | | + | |
- | | Backup02 | 51.68.204.226 | | + | |
- | + | ||
- | Utilisez le nom d' | + | |
- | + | ||
- | ====2 - SSH, via le port 2222==== | + | |
- | + | ||
- | Ce type de connexion implique que vous ayez accès au port **2222** sur un de nos serveurs. En cas d' | + | |
- | + | ||
- | Utilisez la commande appropriée issue du tableau suivant dans un terminal sur votre poste : | + | |
- | + | ||
- | ^ ID ^ Commande ^ | + | |
- | | Trainee01 | ssh -l trainee compute01.ittraining.network -p 2222 | | + | |
- | | Trainee02 | ssh -l trainee compute02.ittraining.network -p 2222 | | + | |
- | | Trainee03 | ssh -l trainee compute03.ittraining.network -p 2222 | | + | |
- | | Trainee04 | ssh -l trainee compute04.ittraining.network -p 2222 | | + | |
- | | Trainee05 | ssh -l trainee compute05.ittraining.network -p 2222 | | + | |
- | | Trainee06 | ssh -l trainee compute06.ittraining.network -p 2222 | | + | |
- | | Trainee07 | ssh -l trainee compute07.ittraining.network -p 2222 | | + | |
- | | Trainee08 | ssh -l trainee compute08.ittraining.network -p 2222 | | + | |
- | | Trainee09 | ssh -l trainee compute09.ittraining.network -p 2222 | | + | |
- | | Trainee10 | ssh -l trainee compute10.ittraining.network -p 2222 | | + | |
- | | Trainee11 | ssh -l trainee compute11.ittraining.network -p 2222 | | + | |
- | | Trainee12 | ssh -l trainee compute12.ittraining.network -p 2222 | | + | |
- | + | ||
- | Utilisez le mot de passe qui vous a été fourni par votre formateur. | + | |
- | + | ||
- | ====3 - Guacamole, en utilisant un Navigateur Web==== | + | |
- | + | ||
- | Ouvrez votre navigateur web **Chrome**, **Edge** ou **Firefox** et saisissez l'URL selon le tableau ci-dessous : | + | |
- | + | ||
- | ^ ID ^ URL ( Notez http: et non https: ) ^ | + | |
- | | Trainee01 | http:// | + | |
- | | Trainee02 | http:// | + | |
- | | Trainee03 | http:// | + | |
- | | Trainee04 | http:// | + | |
- | | Trainee05 | http:// | + | |
- | | Trainee06 | http:// | + | |
- | | Trainee07 | http:// | + | |
- | | Trainee08 | http:// | + | |
- | | Trainee09 | http:// | + | |
- | | Trainee10 | http:// | + | |
- | | Trainee11 | http:// | + | |
- | | Trainee12 | http:// | + | |
- | + | ||
- | Utilisez le nom d' | + | |
- | + | ||
- | Cliquez ensuite sur la connexion **Gateway_SSH**. | + | |
- | + | ||
- | Si vous ne savez pas copier / coller en utilisant Guacamole, consultez cet **[[https:// | + | |
- | + | ||
- | + | ||
- | Les informations à noter pour une utilisation courante sont : | + | |
- | + | ||
- | ^ Machine ^ Nom d' | + | |
- | | Debian_9 | debian9.i2tch.loc | 10.0.2.60 | | + | |
- | | Debian_91 | debian91.i2tch.loc | 10.0.2.61 | | + | |
- | | Manager| manager.i2tch.loc | 10.0.2.62 | | + | |
- | | Worker01 | worker1.i2tch.loc | 10.0.2.63 | | + | |
- | | Worker02 | worker2.i2tch.loc | 10.0.2.64 | | + | |
- | + | ||
- | Les noms d' | + | |
- | + | ||
- | ^ Utilisateur ^ Mot de Passe ^ | + | |
- | | trainee | trainee | | + | |
- | | root | fenestros | | + | |
- | + | ||
- | Dernièrement connectez-vous à la machine virtuelle utilisée pour cette formation : | + | |
- | + | ||
- | $ ssh -l trainee 10.0.2.60 | + | |
- | + | ||
- | =====Programme de la Formation===== | + | |
- | + | ||
- | ====Jour #1==== | + | |
- | + | ||
- | * **DOF600 - Docker : Utilisation et Administration** - 1 heure. | + | |
- | * Prérequis | + | |
- | * Matériel | + | |
- | * Logiciels | + | |
- | * Internet | + | |
- | * Utilisation de l' | + | |
- | * Programme de la Formation | + | |
- | + | ||
- | * **DOF601 - La Virtualisation par Isolation** - 3 heures. | + | |
- | * Présentation de la Virtualisation par Isolation | + | |
- | * Historique | + | |
- | * Présentation des Namespaces | + | |
- | * Présentation des CGroups | + | |
- | * LAB #1 - Travailler avec les CGroups | + | |
- | * 1.1 - Limitation de la Mémoire | + | |
- | * 1.2 - Le Paquet cgroup-tools | + | |
- | * La commande cgcreate | + | |
- | * La Commande cgexec | + | |
- | * La Commande cgdelete | + | |
- | * Le Fichier / | + | |
- | * Présentation de Linux Containers | + | |
- | * LAB #2 - Travailler avec LXC | + | |
- | * 2.1 - Installation | + | |
- | * 2.2 - Création d'un Conteneur Simple | + | |
- | * 2.3 - Démarrage d'un Conteneur Simple | + | |
- | * 2.4 - S' | + | |
- | * 2.5 - Commandes LXC de Base | + | |
- | * La Commande lxc-console | + | |
- | * La Commande lxc-stop | + | |
- | * La Commande lxc-execute | + | |
- | * La Commande lxc-info | + | |
- | * La Commande lxc-freeze | + | |
- | * La Commande lxc-unfreeze | + | |
- | * Autres commandes | + | |
- | * 2.6 - Création d'un Conteneur Non-Privilégié | + | |
- | * User Namespaces | + | |
- | * Création d'un Utilisateur Dédié | + | |
- | * Création du Mappage | + | |
- | * Création du Conteneur | + | |
- | * Contrôle du Mappage | + | |
- | * 2.7 - Création d'un Conteneur Éphémère | + | |
- | * La Commande lxc-copy | + | |
- | * 2.8 - Sauvegarde des Conteneurs | + | |
- | * La Commande lxc-snapshot | + | |
- | + | ||
- | * **DOF602 - Démarrer avec Docker** - 3 heures. | + | |
- | * Présentation de Docker | + | |
- | * LAB #1 - Travailler avec Docker | + | |
- | * 1.1 - Installer docker | + | |
- | * 1.2 - Démarrer un Conteneur | + | |
- | * 1.3 - Consulter la Liste des Conteneurs et Images | + | |
- | * 1.4 - Rechercher une Image dans un Dépôt | + | |
- | * 1.5 - Supprimer un Conteneur d'une Image | + | |
- | * 1.6 - Créer une Image à partir d'un Conteneur Modifié | + | |
- | * 1.7 - Supprimer une Image | + | |
- | * 1.8 - Créer un Conteneur avec un Nom Spécifique | + | |
- | * 1.9 - Exécuter une Commande dans un Conteneur | + | |
- | * 1.10 - Injecter des Variables d' | + | |
- | * 1.11 - Modifier le Nom d' | + | |
- | * 1.12 - Mapper des Ports d'un Conteneur | + | |
- | * 1.13 - Démarrer un Conteneur en mode Détaché | + | |
- | * 1.14 - Accéder aux Services d'un Conteneur de l' | + | |
- | * 1.15 - Arrêter et Démarrer un Conteneur | + | |
- | * 1.16 - Utiliser des Signaux avec un Conteneur | + | |
- | * 1.17 - Forcer la Suppression d'un Conteneur en cours d' | + | |
- | * 1.18 - Utilisation Simple d'un Volume | + | |
- | * 1.19 - Télécharger une image sans créer un conteneur | + | |
- | * 1.20 - S' | + | |
- | * 1.21 - Installer un logiciel dans le conteneur | + | |
- | * 1.22 - Utilisation de la commande docker commit | + | |
- | * 1.23 - Se connecter au serveur du conteneur de l' | + | |
- | + | ||
- | ====Jour #2==== | + | |
- | + | ||
- | * **DOF603 - Gérer et Stocker les Images Docker** - 2 heures. | + | |
- | * LAB #1 - Re-créer une image officielle docker | + | |
- | * 1.1 - Utilisation d'un Dockerfile | + | |
- | * 1.2 - FROM | + | |
- | * 1.3 - RUN | + | |
- | * 1.4 - ENV | + | |
- | * 1.5 - VOLUME | + | |
- | * 1.6 - COPY | + | |
- | * 1.7 - ENTRYPOINT | + | |
- | * 1.8 - EXPOSE | + | |
- | * 1.9 - CMD | + | |
- | * 1.10 - Autres Commandes | + | |
- | * LAB #2 - Créer un Dockerfile | + | |
- | * 2.1 - Création et test du script | + | |
- | * 2.2 - Bonnes Pratiques liées au Cache | + | |
- | * LAB #3 - Installer un Registre Privé | + | |
- | * 3.1 - Créer un Registre local, | + | |
- | * 3.2 - Créer un Serveur de Registre Dédié | + | |
- | * Configurer le clone comme Registre Dédié | + | |
- | * Configurer le Client | + | |
- | + | ||
- | * **DOF604 - Gestion des Volumes, du Réseau et des Ressources** - 2 heures. | + | |
- | * LAB #1 - Gestion des Volumes | + | |
- | * 1.1 - Gestion Automatique par Docker | + | |
- | * 1.2 - Gestion Manuelle d'un Volume | + | |
- | * LAB #2 - Gestion du Réseau | + | |
- | * 2.1 - L' | + | |
- | * Bridge | + | |
- | * Host | + | |
- | * None | + | |
- | * Liens | + | |
- | * 2.2 - Lancer Wordpress dans un container | + | |
- | * 2.3 - Gestion d'une Architecture de Microservices | + | |
- | * LAB #3 - Superviser les Conteneurs | + | |
- | * 3.1 - Les Journaux | + | |
- | * 3.2 - Les Processus | + | |
- | * 3.3 - L' | + | |
- | * LAB #4 - Gestion des Ressources | + | |
- | * 4.1 - Limiter la Mémoire | + | |
- | + | ||
- | * **DOF605 - Docker Compose, Docker Machine et Docker Swarm** - 3 heures. | + | |
- | * LAB #1 - Docker Compose | + | |
- | * 1.1 - Installation | + | |
- | * 1.2 - Utiliser docker-compose | + | |
- | * LAB #2 - Docker Machine | + | |
- | * 2.1 - Présentation | + | |
- | * 2.2 - Création de Machines Virtuelles Docker | + | |
- | * 2.3 - Lister les VM Docker | + | |
- | * 2.4 - Obtenir l' | + | |
- | * 2.5 - Se connecter à une VM Docker | + | |
- | * LAB #3 - Docker Swarm | + | |
- | * 3.1 - Présentation | + | |
- | * 3.2 - Initialiser Docker Swarm | + | |
- | * 3.3 - Le Statut Leader | + | |
- | * 3.4 - Rejoindre le Swarm | + | |
- | * 3.5 - Consulter les Informations de Swarm | + | |
- | * 3.6 - Démarrer un Service | + | |
- | * 3.7 - Augmentation et Réduction du Service | + | |
- | * 3.8 - Consulter le Statut d'un Nœud | + | |
- | * 3.9 - Haute Disponibilité | + | |
- | * 3.10 - Supprimer un Service | + | |
- | * 3.11 - Sauvegarder Docker Swarm | + | |
- | * 3.12 - Restaurer Docker Swarm | + | |
- | + | ||
- | ====Jour #3==== | + | |
- | + | ||
- | * **DOF606 - Gestion du Réseau Overlay avec Docker en mode Swarm** - 2 heures. | + | |
- | * Contenu du Module | + | |
- | * L' | + | |
- | * LAB #1 - Gestion du Réseau overlay | + | |
- | * 1.1 - Création d'un Réseau overlay | + | |
- | * 1.2 - Création d'un Service | + | |
- | * 1.3 - Déplacer le Service vers un autre Réseau overlay | + | |
- | * 1.4 - DNS container discovery | + | |
- | * 1.5 - Création d'un Réseau overlay Personnalisé | + | |
- | * LAB #2 - Gestion de l' | + | |
- | * 2.1 - Mise en Place avec Docker Swarm avec des réseaux Overlay | + | |
- | + | ||
- | * **DOF607 - Gestion de la Sécurité de Docker** - 4 heures. | + | |
- | * Contenu du Module | + | |
- | * LAB #1 - Utilisation des Docker Secrets | + | |
- | * LAB #2 - Création d'un Utilisateur de Confiance pour Contrôler le Daemon Docker | + | |
- | * LAB #3 - Le Script docker-bench-security.sh | + | |
- | * LAB #4 - Sécurisation de la Configuration de l' | + | |
- | * 4.1 - [WARN] 1.2.1 - Ensure a separate partition for containers has been created | + | |
- | * 4.2 - [WARN] 1.2.3 - Ensure auditing is configured for the Docker daemon | + | |
- | * LAB #5 - Sécurisation de la Configuration du daemon Docker | + | |
- | * 5.1 - [WARN] 2.1 - Ensure network traffic is restricted between containers on the default bridge | + | |
- | * 5.2 - [WARN] 2.8 - Enable user namespace support | + | |
- | * 5.3 - [WARN] 2.11 - Ensure that authorization for Docker client commands is enabled | + | |
- | * 5.4 - [WARN] 2.12 - Ensure centralized and remote logging is configured | + | |
- | * 5.5 - [WARN] 2.14 - Ensure Userland Proxy is Disabled | + | |
- | * 5.6 - [WARN] 2.17 - Ensure containers are restricted from acquiring new privileges | + | |
- | * 5.7 - Le Fichier / | + | |
- | * LAB #6 - Sécurisation des Images et les Fichiers de Construction | + | |
- | * 6.1 - [WARN] 4.1 - Ensure a user for the container has been created | + | |
- | * 6.2 - [WARN] 4.5 - Ensure Content trust for Docker is Enabled | + | |
- | * 6.3 - [WARN] 4.6 - Ensure that HEALTHCHECK instructions have been added to container images | + | |
- | * LAB #7 - Sécurisation du Container Runtime | + | |
- | * 7.1 - [WARN] 5.1 - Ensure AppArmor Profile is Enabled | + | |
- | * 7.2 - [WARN] 5.2 - Ensure SELinux security options are set, if applicable | + | |
- | * 7.3 - [WARN] 5.10 - Ensure memory usage for container is limited | + | |
- | * 7.4 - [WARN] 5.11 - Ensure CPU priority is set appropriately on the container | + | |
- | * 7.5 - [WARN] 5.12 - Ensure the container' | + | |
- | * 7.6 - [WARN] 5.14 - Ensure ' | + | |
- | * 7.7 - [WARN] 5.25 - Ensure the container is restricted from acquiring additional privileges | + | |
- | * 7.8 - [WARN] 5.26 - Ensure container health is checked at runtime | + | |
- | * 7.9 - [WARN] 5.28 - Ensure PIDs cgroup limit is used | + | |
- | * LAB #8 - Sécurisation des Images avec Docker Content Trust | + | |
- | * 8.1 - DOCKER_CONTENT_TRUST | + | |
- | * 8.2 - DCT et la commande docker pull | + | |
- | * L' | + | |
- | * 8.3 - DCT et la commande docker push | + | |
- | * 8.4 - DCT et la commande docker build | + | |
- | * Créer un deuxième Repositry | + | |
- | * Supprimer une Signature | + | |
- | * LAB #9 - Sécurisation du Socket du Daemon Docker | + | |
- | * 9.1 - Création du Certificat de l' | + | |
- | * 9.2 - Création du Certificat du Serveur Hôte du Daemon Docker | + | |
- | * 9.3 - Création du Certificat du Client | + | |
- | * 9.4 - Démarrage du Daemon Docker avec une Invocation Directe | + | |
- | * 9.5 - Configuration du Client | + | |
- | * **DOF608 - Validation de la Formation** - 1 heure. | ||
- | * Support de Cours | ||
- | * Rappel du Programme de la Formation | ||
- | * Jour #1 | ||
- | * Jour #2 | ||
- | * Jour #3 | ||
- | * Évaluation de la Formation | ||
- | * Validation des acquis | ||
- | ----- | + | ---- |
- | Copyright © 2022 Hugh Norris - Document non-contractuel. Le programme peut être modifié sans préavis. | + | Copyright © 2024 Hugh Norris - Document non-contractuel. Le programme peut être modifié sans préavis. |