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:redhat:rh134:l108 [2024/11/01 12:03] – admin | elearning:workbooks:redhat:rh134:l108 [2024/11/22 08:50] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
* LAB #1 - Configuration des Registres | * LAB #1 - Configuration des Registres | ||
* LAB #2 - Gestion des Images | * LAB #2 - Gestion des Images | ||
+ | * 2.1 - Télécharger une Image | ||
+ | * 2.2 - Créer une Image à l'aide d'un Fichier Containerfile | ||
* LAB #3 - Gestion des Conteneurs | * LAB #3 - Gestion des Conteneurs | ||
+ | * 3.1 - Création d'un Conteneur | ||
+ | * 3.2 - Démarrage d'un Conteneur | ||
+ | * 3.3 - Exécution d'une Commande dans un Conteneur | ||
+ | * 3.4 - Suppression des Images et des Conteneurs | ||
* LAB #4 - Gestion du Stockage et du Réseau | * LAB #4 - Gestion du Stockage et du Réseau | ||
* 4.1 - Gestion du Stockage Persistant | * 4.1 - Gestion du Stockage Persistant | ||
* 4.2 - Gestion du Réseau | * 4.2 - Gestion du Réseau | ||
* LAB #5 - Gestion des Conteneurs en tant que Services Système | * LAB #5 - Gestion des Conteneurs en tant que Services Système | ||
+ | * 5.1 - Création du Gestionnaire de Conteneurs | ||
+ | * 5.2 - Création d'un Conteneur de Serveur Web | ||
Ligne 67: | Ligne 75: | ||
Graphiquement, | Graphiquement, | ||
- | |||
- | ===Machines Virtuelles=== | ||
- | |||
- | {{ : | ||
- | |||
- | ===Conteneurs=== | ||
- | |||
- | {{ : | ||
====Conteneurs Rootless et Rootful==== | ====Conteneurs Rootless et Rootful==== | ||
Ligne 110: | Ligne 110: | ||
Les images des conteneurs sont construites conformément à des spécifications, | Les images des conteneurs sont construites conformément à des spécifications, | ||
- | Un registre de conteneurs est un référentiel permettant de stocker et de récupérer des images de conteneurs. Un développeur pousse ou télécharge des images de conteneurs dans un registre de conteneurs. Ensuite le dévellopeur | + | Un registre de conteneurs est un référentiel permettant de stocker et de récupérer des images de conteneurs. Un développeur pousse ou télécharge des images de conteneurs dans un registre de conteneurs. Ensuite le développeur |
Il est possible d' | Il est possible d' | ||
Ligne 287: | Ligne 287: | ||
</ | </ | ||
- | Pour vérifier si ce fichier est pris en compte, | + | Pour vérifier si ce fichier est pris en compte, |
< | < | ||
Ligne 326: | Ligne 326: | ||
</ | </ | ||
- | Pour examiner l' | + | Pour examiner l' |
< | < | ||
Ligne 477: | Ligne 477: | ||
^ Commande ^ Description ^ | ^ Commande ^ Description ^ | ||
| **FROM** | Définit l' | | **FROM** | Définit l' | ||
- | | **RUN** | Lance un processus dans la construction de la nouvelle image. | | + | | **RUN** | Lance un processus dans la construction de la nouvelle image. | |
| **CMD** | Définit la commande qui sera exécutée dans le conteneur lors de sa création à partir de la nouvelle image. | | | **CMD** | Définit la commande qui sera exécutée dans le conteneur lors de sa création à partir de la nouvelle image. | | ||
Ligne 592: | Ligne 592: | ||
=====LAB #3 - Gestion des Conteneurs===== | =====LAB #3 - Gestion des Conteneurs===== | ||
- | Un conteneur | + | Un conteneur |
^ Etat ^ Description ^ | ^ Etat ^ Description ^ | ||
Ligne 603: | Ligne 603: | ||
====3.1 - Création d'un Conteneur==== | ====3.1 - Création d'un Conteneur==== | ||
- | Créez un conteneur dénommé **python36** à partir de la nouvelle image. | + | Créez un conteneur dénommé **python36** à partir de la nouvelle image. |
< | < | ||
Ligne 617: | Ligne 617: | ||
</ | </ | ||
- | POur consulter la liste de tous les conteneurs, ajoutez l' | + | Pour consulter la liste de tous les conteneurs, ajoutez l' |
+ | < | ||
[trainee@redhat9 ~]$ podman ps -a | [trainee@redhat9 ~]$ podman ps -a | ||
CONTAINER ID IMAGE | CONTAINER ID IMAGE | ||
Ligne 649: | Ligne 650: | ||
</ | </ | ||
- | ====3.3 - Exécuter | + | ====3.3 - Exécution d'une Commande dans un Conteneur==== |
- | Pour exécuter une commande à l' | + | Pour exécuter une commande à l' |
< | < | ||
Ligne 718: | Ligne 719: | ||
</ | </ | ||
- | ====3.4 - Supprimer | + | ====3.4 - Suppression |
- | En essayant de supprimer l' | + | En essayant de supprimer l' |
< | < | ||
Ligne 810: | Ligne 811: | ||
Notez que le conteneur crée avec les variables d' | Notez que le conteneur crée avec les variables d' | ||
- | Supprimez maintenant le conteneur **db01**. Notez que vous pouver | + | Supprimez maintenant le conteneur **db01**. Notez que vous que l'on peut référencer le conteneur par une partie de son **CONTAINER ID**, à condition que cette partie soit unique : |
< | < | ||
Ligne 819: | Ligne 820: | ||
Supprimez le deuxième conteneur en stipulant son nom : | Supprimez le deuxième conteneur en stipulant son nom : | ||
+ | < | ||
[trainee@redhat9 ~]$ podman rm boring_ganguly | [trainee@redhat9 ~]$ podman rm boring_ganguly | ||
Error: cannot remove container afc0cc8427677eed8cf17ef1ee9669b937ca25ccd322c066ee9c46e070baf3d3 as it is running - running or paused containers cannot be removed without force: container state improper | Error: cannot remove container afc0cc8427677eed8cf17ef1ee9669b937ca25ccd322c066ee9c46e070baf3d3 as it is running - running or paused containers cannot be removed without force: container state improper | ||
Ligne 928: | Ligne 930: | ||
</ | </ | ||
- | Afin de comprendre la natyure | + | Afin de comprendre la nature |
< | < | ||
Ligne 1016: | Ligne 1018: | ||
</ | </ | ||
- | Pour forcer l' | + | Pour forcer l' |
< | < | ||
Ligne 1064: | Ligne 1066: | ||
</ | </ | ||
- | Depuis la version 4.0, Podman supporte deux réseaux pour les conteneurs, **Netavark** et **CNI**. À partir de RHEL 9, les systèmes utilisent **Netavark** par défaut. Pour vérifier quel back-end | + | Depuis la version 4.0, Podman supporte deux réseaux pour les conteneurs, **Netavark** et **CNI**. À partir de RHEL 9, les systèmes utilisent **Netavark** par défaut. Pour vérifier quel backend |
< | < | ||
Ligne 1074: | Ligne 1076: | ||
</ | </ | ||
- | Pour modifier le back-end | + | Pour modifier le backend |
< | < | ||
Ligne 1120: | Ligne 1122: | ||
</ | </ | ||
- | Créez maintenant un duexième | + | Créez maintenant un deuxième |
< | < | ||
Ligne 1162: | Ligne 1164: | ||
</ | </ | ||
- | Créez maintenant le conteneur **client** en le placant | + | Créez maintenant le conteneur **client** en le plaçant |
< | < | ||
Ligne 1257: | Ligne 1259: | ||
</ | </ | ||
- | Constatez que les deux conteneurs se trouvent dans les deux réseaux, **backend** et db_net** : | + | Constatez que les deux conteneurs se trouvent dans les deux réseaux, **backend** et **db_net** : |
< | < | ||
Ligne 1351: | Ligne 1353: | ||
=====LAB #5 - Gestion des Conteneurs en tant que Services Système===== | =====LAB #5 - Gestion des Conteneurs en tant que Services Système===== | ||
- | Sans faire appel à un Orchestrateur de Conteneurs tel Kubernetes, il est possible de gérer des petites infrastructures en utilsant | + | Sans faire appel à un Orchestrateur de Conteneurs tel Kubernetes, il est possible de gérer des petites infrastructures en utilisant |
====5.1 - Création du Gestionnaire de Conteneurs==== | ====5.1 - Création du Gestionnaire de Conteneurs==== | ||
Ligne 1371: | Ligne 1373: | ||
</ | </ | ||
- | Denevez | + | Devenez |
< | < |