Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:redhat:rh134:l108 [2024/11/01 12:11] adminelearning:workbooks:redhat:rh134:l108 [2024/11/22 08:50] (Version actuelle) admin
Ligne 110: Ligne 110:
 Les images des conteneurs sont construites conformément à des spécifications, telles que la spécification du format d'image de l'**Open Container Initiative** (OCI). Ces spécifications définissent le format des images de conteneurs, ainsi que les métadonnées relatives aux systèmes d'exploitation hôtes des conteneurs et aux architectures matérielles que l'image prend en charge. Les images des conteneurs sont construites conformément à des spécifications, telles que la spécification du format d'image de l'**Open Container Initiative** (OCI). Ces spécifications définissent le format des images de conteneurs, ainsi que les métadonnées relatives aux systèmes d'exploitation hôtes des conteneurs et aux architectures matérielles que l'image prend en charge.
  
-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 extrait ou télécharge des images de conteneurs d'un registre vers un système local pour exécuter des conteneurs.+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 extrait ou télécharge des images de conteneurs d'un registre vers un système local pour exécuter des conteneurs.
  
 Il est possible d'utiliser un registre public contenant des images de tiers ou un registre privé contrôlé par une organisation. La source des images de conteneurs est importante. Comme pour tout autre logiciel, il faut savoir si on peut faire confiance au code de l'image de conteneur. Les politiques varient d'un registre à l'autre en ce qui concerne la fourniture, l'évaluation et le test des images de conteneurs qui leur sont soumises. Il est possible d'utiliser un registre public contenant des images de tiers ou un registre privé contrôlé par une organisation. La source des images de conteneurs est importante. Comme pour tout autre logiciel, il faut savoir si on peut faire confiance au code de l'image de conteneur. Les politiques varient d'un registre à l'autre en ce qui concerne la fourniture, l'évaluation et le test des images de conteneurs qui leur sont soumises.
Ligne 287: Ligne 287:
 </code> </code>
  
-Pour vérifier si ce fichier est pris en compte, concultez la sortie de la commande **podman info** :+Pour vérifier si ce fichier est pris en compte, consultez la sortie de la commande **podman info** :
  
 <code> <code>
Ligne 477: Ligne 477:
 ^ Commande ^ Description ^ ^ Commande ^ Description ^
 | **FROM** | Définit l'image à partir de laquelle sera construite la nouvelle image. | | **FROM** | Définit l'image à partir de laquelle sera construite la nouvelle image. |
-| **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 puet être dans un de cinq états :+Un conteneur peut être dans un de cinq états :
  
 ^ 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. Noytez que l'image est référencée par son **IMAGE ID** :+Créez un conteneur dénommé **python36** à partir de la nouvelle image. Notez que l'image est référencée par son **IMAGE ID** :
  
 <code> <code>
Ligne 617: Ligne 617:
 </code> </code>
  
-POur consulter la liste de tous les conteneurs, ajoutez l'option **-a** à la commande précédente :+Pour consulter la liste de tous les conteneurs, ajoutez l'option **-a** à la commande précédente :
  
 +<code>
 [trainee@redhat9 ~]$ podman ps -a [trainee@redhat9 ~]$ podman ps -a
 CONTAINER ID  IMAGE                   COMMAND               CREATED         STATUS      PORTS       NAMES CONTAINER ID  IMAGE                   COMMAND               CREATED         STATUS      PORTS       NAMES
Ligne 651: Ligne 652:
 ====3.3 - Exécution d'une Commande dans un Conteneur==== ====3.3 - Exécution d'une Commande dans un Conteneur====
  
-Pour exécuter une commande à l'intérieur d'un conteneur en cours d'exécution, utilisez la commande **porman exec** :+Pour exécuter une commande à l'intérieur d'un conteneur en cours d'exécution, utilisez la commande **podman exec** :
  
 <code> <code>
Ligne 720: Ligne 721:
 ====3.4 - Suppression des Images et des Conteneurs==== ====3.4 - Suppression des Images et des Conteneurs====
  
-En essayant de supprimer l'image **egistry.access.redhat.com/ubi8/python-38**, vous consterez que ceci n'est pas possible à cause de la présence du conteneur **python38** qui dépend de l'image :+En essayant de supprimer l'image **registry.access.redhat.com/ubi8/python-38**, vous constaterez que ceci n'est pas possible à cause de la présence du conteneur **python38** qui dépend de l'image :
  
 <code> <code>
Ligne 810: Ligne 811:
 Notez que le conteneur crée avec les variables d'environnement n'a pas été créé en spécifiant l'option **--name**. De ce fait, le conteneur a été automatiquement créé avec un nom généré aléatoirement. Notez que le conteneur crée avec les variables d'environnement n'a pas été créé en spécifiant l'option **--name**. De ce fait, le conteneur a été automatiquement créé avec un nom généré aléatoirement.
  
-Supprimez maintenant le conteneur **db01**. Notez que vous pouver référencer le conteneur par une partie de son **CONTAINER ID**, à condition que cette partie soit unique :+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 :
  
 <code> <code>
Ligne 819: Ligne 820:
 Supprimez le deuxième conteneur en stipulant son nom : Supprimez le deuxième conteneur en stipulant son nom :
  
 +<code>
 [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:
 </code> </code>
  
-Afin de comprendre la natyure du problème, consultez les journaux du conteneur avec la commande **podman container logs** :+Afin de comprendre la nature du problème, consultez les journaux du conteneur avec la commande **podman container logs** :
  
 <code> <code>
Ligne 1016: Ligne 1018:
 </code> </code>
  
-Pour forcer l'utilisation du SC correct, il faut ajouter la lettre **Z** à la fin de la valeur de l'option **-v** de la commande **podman run**. Par exemple, **-v chemin_hôte:chemin_conteneur:Z**. Relancez donc la commande en spécifiant Z **et** l'option **--replace** qui remplacerer le conteneur actuel :+Pour forcer l'utilisation du SC correct, il faut ajouter la lettre **Z** à la fin de la valeur de l'option **-v** de la commande **podman run**. Par exemple, **-v chemin_hôte:chemin_conteneur:Z**. Relancez donc la commande en spécifiant Z **et** l'option **--replace** qui va remplacer le conteneur actuel :
  
 <code> <code>
Ligne 1064: Ligne 1066:
 </code> </code>
  
-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 réseau est utilisé, exécutez la commande podman info suivante :+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 réseau est utilisé, exécutez la commande podman info suivante :
  
 <code> <code>
Ligne 1074: Ligne 1076:
 </code> </code>
  
-Pour modifier le back-end utilisé, il convient de modifier la directive **network_backend** dans le fichier **/usr/share/containers/containers.conf** :+Pour modifier le backend utilisé, il convient de modifier la directive **network_backend** dans le fichier **/usr/share/containers/containers.conf** :
  
 <code> <code>
Ligne 1120: Ligne 1122:
 </code> </code>
  
-Créez maintenant un deuxième réseau appelé *db_net** :+Créez maintenant un deuxième réseau appelé **db_net** :
  
 <code> <code>
Ligne 1162: Ligne 1164:
 </code> </code>
  
-Créez maintenant le conteneur **client** en le placant dans le réseau **db_net** :+Créez maintenant le conteneur **client** en le plaçant dans le réseau **db_net** :
  
 <code> <code>
Ligne 1257: Ligne 1259:
 </code> </code>
  
-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** :
  
 <code> <code>
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 simplement **-systemd**.+Sans faire appel à un Orchestrateur de Conteneurs tel Kubernetes, il est possible de gérer des petites infrastructures en utilisant simplement **-systemd**.
  
 ====5.1 - Création du Gestionnaire de Conteneurs==== ====5.1 - Création du Gestionnaire de Conteneurs====
Ligne 1371: Ligne 1373:
 </code> </code>
  
-Denevez l'utilisateur et constatez l'erreur lors de l'exécution de la commande **podman info** :+Devenez l'utilisateur et constatez l'erreur lors de l'exécution de la commande **podman info** :
  
 <code> <code>
Menu