Gestion de conteneurs avec le cours Podman Crash | Andrei Balint | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Gestion de conteneurs avec le cours Podman Crash

teacher avatar Andrei Balint

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      INTRODUCTION DU COURS

      1:42

    • 2.

      Conteneurs expliqués

      5:51

    • 3.

      Registries de conteneurs

      4:14

    • 4.

      Gestion des conteneurs

      8:04

    • 5.

      Gestion des images

      4:58

    • 6.

      Stockage persistant

      5:04

    • 7.

      Reliure de port

      4:18

    • 8.

      Réseaux de conteneurs

      4:09

    • 9.

      Création d'images

      4:09

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

37

apprenants

--

projet

À propos de ce cours

Podman est une plateforme pour les développeurs et les sysadmins qui peuvent construire, expédier et exécuter des applications distribuées, que ce soit sur des ordinateurs portables, des machines virtuelles de centres de données ou le cloud.

Ce cours présente Podman à un débutant absolu en utilisant des cours très simples et faciles à comprendre. Les conférences sont suivies de démonstrations montrant comment configurer et commencer avec Podman.

Ce cours vous aidera à configurer votre propre environnement de laboratoire personnel dans lequel vous pourrez pratiquer toutes les connaissances apprises ici.

À la fin du cours, vous aurez une solide compréhension des conteneurs sont, quels sont les avantages de la conteneur et la façon de gérer les conteneurs à l'aide de l'outil de gestion des conteneurs Podman.

Avec les connaissances acquises ici, vous pourrez configurer vos propres services containerisés en un rien de temps et rendre accessibles même de l'extérieur de votre hôte.

Pendant ce cours, vous allez :

  • Apprendre l'architecture des conteneurs et ses avantages

  • Plonger dans les registres de conteneurs, ce qu'ils sont et comment configurer Podman pour utiliser certains registres

  • Exécuter et gérer des conteneurs à l'aide de Podman

  • Tirer et gérer des images de conteneurs à l'aide de Podman

  • Attribuer le stockage persistant aux conteneurs

  • Apprendre à cartographier les ports pour rendre vos conteneurs accessibles de l'extérieur

  • Créer et gérer un réseau de conteneurs dans Podman

  • Créez vos propres images de conteneurs via DockerFiles et en utilisant la construction Podman

P.S Podman est très similaire à Docker donc toutes les leçons de ce cours peuvent être aussi utiles avec Docker que avec Podman

Rencontrez votre enseignant·e

Teacher Profile Image

Andrei Balint

Enseignant·e
Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. INTRODUCTION DU COURS: Bonjour et bienvenue dans le cours sur la gestion des conteneurs avec Pac-Man. m'appelle Andre balance et je suis là pour vous aider à découvrir les avantages de conteneurisation et également comment créer et gérer des conteneurs à l'aide de l'outil de gestion de conteneurs Pokemon, je voudrais préciser The Board Man est très similaire à Docker. Les connaissances acquises ici peuvent également être utilisées lors de l'utilisation de Docker. Commençons maintenant le cours en vous parlant un peu de moi. Je suis un ingénieur certifié Red Hat et je suis également un spécialiste de l'utilisation des conteneurs et Kubernetes est mon deuxième domaine d' expertise : InfoSec. Je suis également certifié CompTIA Security Plus à 35 miles des RSSI. Maintenant que vous en savez un peu plus sur moi, voyez ce que nous allons aborder dans le cadre de ce cours. Faisons un bref aperçu de ce que nous devrions aborder au cours de ce cours. Nous en apprendrons plus sur les conteneurs, leur architecture, leurs avantages par la suite, nous aborderons des domaines plus pratiques. Et nous parlerons des registres de conteneurs. Ils le sont et comment les configurer dans pod man. Ensuite, nous nous pencherons sur la gestion des conteneurs, où nous verrons comment créer des services conteneurisés. Nous pouvons désormais bien gérer les conteneurs, si nous pouvons également gérer les images. est donc ce que nous allons faire dans le module suivant. Les conteneurs disposent par défaut d'un stockage éphémère. Donc, si nous voulons que nos modifications persistent après la mort d'un conteneur, nous devons comprendre comment allouer stockage persistant aux conteneurs. Nous aborderons ce point dans le cinquième module. Dans le sixième module, nous nous concentrerons sur la mise en réseau de conteneurs, où nous en apprendrons davantage sur la liaison de ports et la création de réseaux. Comme aujourd'hui, nous allons terminer ce cours en apprenant à créer nos propres images de conteneur à l'aide de fichiers Docker et de répertoires de travail. Maintenant que nous avons une assez bonne vue d'ensemble de ce que nous allons couvrir, commençons. 2. Conteneurs expliqués: Maintenant, dans notre premier module, nous allons parler un peu des conteneurs, ce qu'ils sont et des avantages de la conteneurisation. Nous terminerons ce module en configurant un environnement de laboratoire où nous pourrons exécuter tous nos exercices pratiques pour les prochains modules. Alors, sans plus tarder, commençons. Voyons maintenant comment fonctionnent les conteneurs. Les applications logicielles dépendent désormais des bibliothèques système, des fichiers de configuration ou des services fournis par l' environnement d'exécution. En outre, l'environnement d'exécution d' une application logicielle est installé dans un système d'exploitation qui s'exécute sur un hôte physique ou une machine virtuelle, les administrateurs installent l'application au-dessus de ce système d'exploitation. Le principal inconvénient des applications logicielles déployées traditionnelles est que ces dépendances sont liées à l'environnement d'exécution. Une application peut nécessiter des versions plus anciennes ou plus récentes d' un logiciel de prise en charge et du logiciel fourni par le système d'exploitation. C'est là que les conteneurs entrent en jeu. Le conteneur est un ensemble d' un ou de plusieurs processus isolés du reste du système. Considérez-le comme un conteneur d'expédition physique. Le conteneur d'expédition est un moyen standard d'emballage et d'expédition. Il est étiqueté chargé, déchargé et transporté d'un endroit à un autre dans une seule boîte. contenu des contenants est isolé du contenu des autres contenants, sorte qu'ils ne s' influencent pas entre eux. Ils sont donc isolés et fonctionnent indépendamment. Quelles sont donc les caractéristiques d'un conteneur ? Eh bien, ils s'exécutent directement sur le système d'exploitation hôte et partagent ces ressources avec tous les conteneurs de ce système. Ils ont partagé le noyau hôte. Le noyau isole les processus d'application du reste du système. Elles nécessitent beaucoup moins de ressources que les machines virtuelles, sorte qu'elles sont plus rapides à démarrer et à déployer. Elles incluent également toutes les dépendances telles que les dépendances système et de programmation et les paramètres de configuration. Peu importe où vous allez les déployer, ils se comporteront de la même manière. Maintenant que nous comprenons un peu l'architecture des conteneurs, examinons quelques termes utiles. Le conteneur est un processus ou un ensemble de processus exécutant une image avec des restrictions. L'image est un ensemble qui contient toutes les exigences pour exécuter ces processus ou ce processus. Un registre est un endroit où les images peuvent être stockées et récupérées. Old man est l'outil de gestion de conteneurs, que nous utilisons pour gérer à la fois les images, conteneurs et la façon dont ils interagissent. Docker est une autre alternative populaire. Et le pod est constitué d'un ou de plusieurs conteneurs, ce qui représente une seule application. Examinons donc un peu les avantages de la conteneurisation. Tout d'abord, nous avons la portabilité. Un conteneur d'applications crée un progiciel exécutable extrait du système d'exploitation hôte. Par conséquent, il n'est ni dépendant ni lié au système d'exploitation, ce qui le rend portable et lui permet de fonctionner de manière cohérente et uniforme sur n'importe quelle plate-forme ou cloud, alors nous avons de la vitesse car il n'y a pas de système d'exploitation à démarrer. Cela signifie également que l'heure de début est très faible. Les nerfs sont également très efficaces si le logiciel exécuté dans un environnement conteneurisé partage le noyau du système d'exploitation de la machine hôte. Les développeurs peuvent partager les couches d'applications entre les conteneurs. En outre, les conteneurs ont une capacité intrinsèquement inférieure celle des machines virtuelles, nécessitant des temps de démarrage minimaux, ce qui permet aux développeurs d' exécuter plus de conteneurs sur la même capacité de calcul. machine. Cela permet d'améliorer l'efficacité des serveurs et de réduire les coûts associés aux serveurs et aux licences. Et enfin, comme indiqué précédemment, parce qu'il n'y a pas de système d'exploitation pour les deux conteneurs ont également moins de frais généraux. Nous comprenons l'architecture des conteneurs et les avantages de la conteneurisation. Configurez l'environnement du laboratoire. Tout d'abord, nous allons passer revue les conditions préalables à la mise en place du laboratoire. Ensuite, nous examinerons les commandes que nous devons exécuter. Enfin, nous ferons une courte démonstration pour que notre environnement de laboratoire soit opérationnel. En termes de prérequis, nous avons besoin d'un hôte exécutant Red Hat Enterprise Linux version huit ou supérieure. L'hôte doit être connecté à Internet. Il a donc besoin d'une connexion Internet active, que nous utiliserons pour télécharger à la fois Birdman et images de conteneur attachées à notre hôte. Nous avons besoin d'une auto-assistance ou d'une description des développeurs. Cela signifie que nous devons créer un compte développeur auprès de Red Hat. En outre, il est recommandé nous ayons également un compte sur un dépôt de conteneurs à partir duquel nous obtiendrons nos images, comme Docker ou Clay. Mais cela n'est pas obligatoire. Examinons maintenant les commandes dont nous aurons besoin pour configurer notre environnement de laboratoire. Ce n'est donc pas si compliqué. n'y a que trois commandes que nous devons exécuter. Inscrivez-vous au First Day Subscription Manager, qui enregistrera notre système à l'aide notre compte Red Hat et de notre mot de passe. Ensuite, nous avons attaché Subscription Manager moins moins auto, qui attachera l' abonnement à notre hébergeur. Enfin, nous exécuterons la commande yum install container tools pour installer l'outil de gestion de conteneurs poor man à partir référentiels Red Heads après avoir enregistré notre hôte avec succès. Nous allons maintenant utiliser toutes ces commandes et configurer notre environnement de laboratoire dans le cadre de notre courte démonstration. Tout d'abord, nous allons utiliser la commande Subscription Manager registered pour enregistrer mon système auprès de Red Hat. Je vais entrer mon identifiant Red Hat ainsi que mon mot de passe. Alors je dois juste attendre un peu. Comme vous pouvez le voir, le message de sortie indique que le système a été enregistré et que le nom du système est localhost point local domain. J'utiliserai la commande Subscription Manager attach minus minus auto pour joindre mon abonnement à mon hôte. Cela peut prendre un peu de temps, mais après cela, j'ai accès aux référentiels de têtes de lecture peuvent également voir un message contextuel est apparu disant que l'enregistrement est réussi et mon statut est inscrit en veille. J'utiliserai la commande yum install container tools pour installer l'outil de gestion de conteneurs appelé Pac-Man à partir des référentiels Red Heads. Vous pouvez voir qu' il est téléchargement et qu'il est terminé. Maintenant. Félicitations. Maintenant, vous avez un environnement de laboratoire fonctionnel et en cours d'exécution. 3. Registries de conteneurs: Auparavant, nous avons configuré notre environnement de laboratoire. Nous pouvons maintenant parler des registres de conteneurs. Nous allons d'abord faire un tour d'horizon théorique de ce que sont les registres de conteneurs. Ensuite, nous passerons à la démonstration, où nous créerons notre propre registre de conteneurs personnalisé. Alors, sans plus tarder, commençons. Alors, qu'est-ce que nos registres de conteneurs ? Eh bien, pour faire simple, il existe un référentiel d'images. Un registre de conteneurs est une banque permettant stocker et d'obtenir des images de conteneurs. Un développeur télécharge des images de conteneurs dans un registre de conteneurs. Vous pouvez ensuite télécharger ces images depuis un registre vers un système local pour exécuter et créer des services conteneurisés basés sur ces images. Il existe deux types de registres, privés ou publics. Vous pouvez utiliser un registre public ou privé dont votre organisation contrôle la source de vos images de conteneur, en particulier du point de vue de la sécurité. Pour télécharger des images de la plupart des registres, vous devez d'abord avoir un compte avec ces registres et vous pouvez vous connecter à ce registre à l'aide l'outil de gestion des conteneurs old man, plus précisément la commande pot man login. Maintenant, le fichier de configuration par défaut pour les registres de conteneurs est enseigné dans le fichier barre oblique ETC conteneur barre oblique registry.com. Maintenant, les deux hommes ont la capacité de gérer des conteneurs impitoyables. Cela signifie que nous pouvons créer un fichier registry.com dans le répertoire utilisateur dot config slash containers. Cela aura priorité sur celui présent dans slash, ETC slash container slash registries.com. Maintenant, dans le fichier de registre des conteneurs, nous avons la section de recherche de ces registres. Dans la section de recherche de registre, une liste de registres interrogeables est configurée. Nous avons également les registres dans une section sécurisée. Ces registres ne sont pas protégés par le cryptage TLS. Maintenant que nous avons un bon aperçu théorique des registres, examinons quelques commandes Pokemon pratiques et utiles pour travailler avec les registres. abord, nous avons la commande old man login utilisant la commande boat man login, comme nous pouvons le voir dans l'exemple, je vais me connecter à mon registered.com en utilisant un nom d'utilisateur et un mot de passe. Ensuite, nous avons la commande pod man info nous donnera des informations sur la configuration de PODD man, y compris les registres interrogeables. Enfin, nous avons la commande de recherche de l'homme du port, la commande de recherche de l'homme de point. Je peux parcourir mes registres et rechercher un mot clé spécifique comme HTTLD. Par exemple, lors de la recherche PacMan, HTTLD recherchera dans les registres toute image de conteneur contenant le mot clé HTTDP. Alors, sans plus tarder, passons maintenant à la démo et mettons en pratique nos connaissances acquises. abord, je vais utiliser VIM pour vous montrer le fichier slash, ETC slash container slash registered.com. Nous avons ici les registres de recherche non qualifiés. Ce sont les registres par lesquels pod man effectue des recherches. Quand je cherche une image, nous avons ici Registry.centos.org, quiet.docker.io, etc. Je vais maintenant quitter ce document en particulier. Je vais créer un nouveau chemin en utilisant le MK D ou Command. Et mon nouveau chemin sera des conteneurs slash dot config. Maintenant, je vais copier le fichier contenant la barre oblique ETC slash registered.com dans le chemin des conteneurs de barre oblique dot config. Je garderai le même nom, registry.com. Maintenant, je vais modifier ce fichier particulier parce que je veux seulement que mon outil de gestion de conteneurs pod man recherche dans registry.access.redhead.com. Je vais donc supprimer tous les registres que je ne voudrais pas utiliser, tels que Registry Dots, Centos.org, quiet.io et docker.io. Ensuite, je vais enregistrer et quitter ce document. Je vais maintenant faire une commande de recherche PubMed avec le terme HTTLD pour tester si mes registres sont corrects. Et nous pouvons clairement voir que nous avons des résultats ici. Maintenant, je vais effacer l'écran et utiliser la commande port man info pour obtenir des informations sur notre configuration Pac-Man. Et nous pouvons clairement voir ici que les registres interrogeables ne sont que registry.access.com. Donc, le seul que j'ai laissé dans le fichier dot config slash containers slash registries.com. Notre démo a donc parfaitement fonctionné. Merci beaucoup et à bientôt dans le prochain module. 4. Gestion des conteneurs: Précédemment, nous avons découvert les registres de conteneurs. Dans ce module, nous allons maintenant apprendre à gérer les conteneurs à l'aide de l'outil de gestion de conteneurs pod man. Ce module sera très pratique et nous terminerons ce module par la démonstration, mettant en pratique toutes les connaissances que nous avons apprises. Alors, sans plus tarder, commençons. Maintenant, en termes de commandes utiles, nous avons d'abord la commande port man pool, spécifie un registre, puis une image dans ce référentiel. Cette image sera téléchargée sur l'hôte local. Ensuite, nous avons la commande Pokemon inspect qui spécifie une image enregistrée localement. Cela nous donnera des informations détaillées sur cette image de conteneur. En utilisant la commande pod man images, nous pouvons obtenir une liste des images enregistrées localement et en utilisant la commande poor man RMI spécifiant un nom d'image, nous pouvons supprimer une image enregistrée localement. Avant de passer aux conteneurs en cours d'exécution, faisons un bref aperçu des états dans lesquels un conteneur peut être trouvé. Super, cela signifie que notre conteneur est créé mais qu'il n'a pas démarré en cours d'exécution signifie qu' un conteneur est en cours d'exécution avec tous ses processus. Stop signifie qu'un conteneur est arrêté et qu'il attend un signal pour démarrer. Ses processus attendent la même chose. Post signifie qu'un conteneur et ses processus sont mis en pause alors que cela signifie que tous ses processus ont été fermés. Voyons maintenant quelques commandes utiles pour exécuter des conteneurs à l'aide l'outil de gestion de conteneurs poor man avec la commande podium et run. Nous pouvons exécuter une commande dans un conteneur. Nous pouvons spécifier le nom avec l'option minus-minus name. Et à la fin de la commande, nous avons spécifié l'image sur laquelle ce conteneur est basé en utilisant l'option moins d, qui signifie détaché, signifie que le conteneur sera exécuté dans mode détaché. Cela signifie que le conteneur s'exécutera en arrière-plan jusqu'à ce qu'il soit arrêté. En utilisant la commande pot man ps, nous pouvons lister tous les conteneurs en cours d'exécution à l'aide de la commande pod man ps avec cette option moins une, nous pouvons lister tous les conteneurs en cours d'exécution ou non. À l'aide de la commande pod man logs. Nous pouvons obtenir des chargements à partir d'un conteneur de noms, ce qui peut nous aider à résoudre les problèmes éventuels associés à ce conteneur. Je voudrais préciser que si nous utilisons l'option moins e, nous déclarerons les variables environnementales qui sont transmises à ce conteneur. Nous déportons la commande man stop en spécifiant un nom de conteneur. Nous pouvons arrêter un conteneur en cours d'exécution avec la commande de démarrage de Pac-Man. Encore une fois, spécifiez le nom du conteneur. Nous pouvons démarrer un conteneur arrêté à l'aide de la commande pod man RM. Nous pouvons supprimer un conteneur en spécifiant son nom. Avec la commande Pac-Man cp. Nous pouvons copier des fichiers de l'hôte vers un conteneur en utilisant la commande old man exec en spécifiant un nom de conteneur, nous pouvons exécuter une commande dans un conteneur de noms et en utilisant la commande pot man exec avec les options informatiques moins spécifiant slash bin slash bash, nous pouvons obtenir un terminal dans un conteneur de noms. L'option minus i transfère toutes les entrées de l' hôte vers le conteneur. Et l' option moins d nous donnera un pseudo terminal dans ce conteneur. Maintenant que nous avons une bonne vue d'ensemble de toutes les commandes importantes nécessaires pour exécuter des conteneurs à l'aide l'outil de gestion de conteneurs pod. Passons à la démo. Maintenant, je vais d'abord rechercher une image HTTP D à l'aide de la commande de recherche du pod man. Je vais juste faire défiler un peu vers le haut et dans la description, je peux voir un serveur Apache HTTP 2.4. Je vais copier le nom de cette image, effacer l'écran et utiliser la commande Pull Postman pour la télécharger localement. Comme vous pouvez le voir, il essaie d' extraire l'image du registre, d'obtenir les signatures source et de copier les blobs en ce moment même. Attendons donc un peu. Le sondage a donc été couronné de succès. Pour valider cela, je vais utiliser la commande pod man images et nous pouvons voir que notre image est présente ici. Ensuite, j'utiliserai la commande port mapping spec pour obtenir informations détaillées sur cette image particulière. Nous pouvons voir de nombreuses informations ici. abord, nous pouvons voir l'utilisateur sous lequel s'exécute cette image, qui est utilisée à 1001. Nous pouvons également voir des détails sur les ports exposés de l' image, qui sont 8088443. Un résumé et une description de ce que cette image est censée faire, le répertoire de travail de cette image, ainsi que des détails concernant le vendeur de l'image qui est Redhead Incorporated, et la version de l' image qui est 2.4. Je vais juste effacer l'écran. Maintenant. Maintenant, je vais utiliser la commande port VLAN run en spécifiant le nom de mon conteneur via l'option minus-minus name. Et elle sera appelée application Web et l'image sur laquelle elle sera basée. Et nous pouvons clairement voir que le conteneur a démarré. Il nous fournit des journaux et des erreurs, mais il a fonctionné correctement. Je vais juste quitter l'écran. Je vais maintenant utiliser la commande boatman ps minus a pour lister tous les conteneurs. Et nous pouvons clairement voir notre conteneur d'applications Web, créé il y a 39 secondes. Je vais le supprimer en utilisant la commande du pauvre homme RM en spécifiant son nom. Maintenant, je vais exécuter le conteneur à nouveau, mais maintenant en mode détaché spécifié par l'option moins d. Je maintiendrai l'application Web du même nom, et elle sera basée sur la même image. Je vais valider mon travail à l'aide de la commande pause band ps, qui nous montrera tous les conteneurs en cours d'exécution. Et nous pouvons voir que notre conteneur appelé Web App, créé il y a deux secondes, est opérationnel. Je vais obtenir des informations détaillées sur ce conteneur grâce à l'utilisation des journaux Pac-Man. Et nous pouvons voir certains journaux associés à notre conteneur d'applications Web. Maintenant, laisse-moi juste effacer l'écran. Et maintenant, utilisons la commande Pokemon stop pour arrêter avec un conteneur d'applications Web. Nous pouvons valider notre travail en utilisant le vieil homme ps moins une commande où nous pouvons vérifier l'état du conteneur et il est passé de up à exit. Je vais redémarrer le conteneur à aide de la commande de démarrage du batelier. Et comme vous pouvez le voir, le statut est passé de « quitté » à « supérieur ». Je voudrais maintenant faire une démonstration de la commande Pac-Man cp. Mais avant cela, je vais créer un document appelé index.html avec le contenu de helloworld en utilisant la commande echo et la redirection de sortie, puis j'utiliserai la commande port man cp, en spécifiant le fichier index.html que j'ai précédemment créé. Et je vais le transférer dans le conteneur appelé wet-bulb dans le dernier slash var slash v, V, v slash HTML slash index.html. Maintenant, je vais entrer dans le conteneur en utilisant la commande boatman exec avec les options informatiques moins slash bin slash bash. Comme vous pouvez le voir, le lot a changé et en exécutant une commande P S minus ox, je peux clairement voir que je ne suis plus sur mon hôte local. Je suis dans le conteneur. Je vais changer de répertoire en slash var slash VB slash chemin HTML. Et ici je peux faire une liste. Dans cette liste, nous pouvons clairement voir le fichier index.html. Et je vais simplement lire le contenu de ce fichier, qui est exactement tel que spécifié. Bonjour tout le monde. Nous avons réussi à copier notre fichier depuis l'hôte local vers le conteneur au niveau de ce chemin spécifié. Si je voulais vérifier le contenu de ce fichier sans entrer dans le conteneur, je peux le faire en utilisant la commande pod man exec pour exécuter la commande cat à ce chemin spécifié. Il est donc temps de faire le ménage après nous. abord, je vais lister tous les conteneurs avec le pod man ps moins une commande, et nous pouvons clairement y voir notre conteneur d'application Web. Ensuite, j'arrêterai le conteneur avec la commande Pokemon stop web app. Ensuite, je retirerai le conteneur avec la commande port man RM. Ensuite, je vais lister toutes les images présentes sur mon hôte local à l'aide de la commande Pokemon images, je vais supprimer mon image existante avec la commande RMI pot man. Et je vais à nouveau lister toutes les images avec la commande Images Pokemon. Et nous pouvons clairement voir que nous n'avons aucune image. Et en utilisant la commande pod man ps minus a, nous pouvons également voir clairement qu'il n'y a plus de conteneurs en cours d'exécution à ce stade. Alors félicitations. Vous avez maintenant une compréhension de base de la gestion des services conteneurisés à l'aide l'outil de gestion de conteneurs port man. Rendez-vous dans le prochain module où nous parlerons de la gestion des images de conteneurs. 5. Gestion des images: Dans le module précédent, nous avons parlé de la gestion des conteneurs. Voyons maintenant comment nous pouvons gérer les images au sein de notre environnement. Alors, sans plus tarder, commençons. Passons maintenant à quelques commandes essentielles pour gérer les images chez les facteurs. Nous avons déjà vu un bassin d'homme coulé. Maintenant, en utilisant la commande port man poor, nous pouvons enregistrer une image de conteneur localement à partir d'un dépôt. Nous pouvons lister toutes les images de conteneurs à l'aide des images de pot man. Et si nous voulons supprimer une image enregistrée localement, nous pouvons utiliser la commande pod man RMI en spécifiant le nom de l'image. Supposons maintenant que nous souhaitions renommer une image. Nous pouvons le faire en utilisant la commande tag Pac-Man, en spécifiant le nom de l'image d'origine et le nouveau nom de l'image. Nous aimerions le donner. Si nous voulons télécharger une image de conteneur localement sûre dans un registre, nous pouvons le faire en utilisant la commande push Pac-Man. Si nous voulons obtenir des informations détaillées sur une image de conteneur stockée localement, comme nous l'avons vu précédemment, nous pouvons le faire en utilisant la commande pot man inspect. Supposons maintenant que nous travaillons dans un conteneur tel qu'un serveur Web HTTP. Nous avons modifié notre fichier index.html et nous aimerions créer une nouvelle image basée sur ce conteneur modifié. Nous pouvons le faire en utilisant la commande pod men commit afin de créer une image à partir d'un conteneur en cours d'exécution. Maintenant que nous avons un aperçu de toutes les commandes importantes pour la gestion des images, passons à la démo. Tout d'abord, je vais utiliser la recherche de port man pour trouver une image HTTDP adéquate. Je vais faire défiler les résultats vers le haut. Et encore une fois, je vais copier le premier résultat, qui est HTTP D24 RHEL sept. Je voudrais effacer l'écran et maintenant je vais utiliser le pool Pac-Man afin de télécharger cette image depuis le dépôt et de l' enregistrer localement. Maintenant, attendons un peu que le tirage soit finalisé. Maintenant que le téléchargement est terminé, je peux utiliser les images de Pac-Man afin valider que l'image a bien été réussie. Et nous pouvons le voir ici. Maintenant, je vais utiliser l' inspecteur de port pour inspecter l'image. Comme vous pouvez le voir, Pokemon expect nous donne des informations détaillées sur cette image particulière. Nous pouvons voir l'utilisateur sous lequel l'image est exécutée. Nous pouvons voir les ports exposés. Vous pouvez voir un résumé de ce que l'image est censée faire, une description détaillée à ce sujet. Maintenant, je voudrais rétracter l'image à l'aide de la commande boatman tag, en spécifiant le nom de l'image d'origine et la nouvelle balise que je vais lui donner sera appelée ma nouvelle version de balise 2. Je peux le construire par le travail en utilisant la commande Pokemon images N. Nous pouvons clairement voir ici localhost slash minute tag version 2. Maintenant, je vais utiliser le conteneur de commande port man run en mode détaché. Le conteneur sera appelé application web et sera basé sur l'image appelée minute tag version 2. Comme vous pouvez le constater, le conteneur a été créé avec succès. Et maintenant je vais lancer la commande Pac-Man ps moins a afin de valider qu'elle est opérationnelle. Et qu'est-ce que vous savez qu'il fonctionne correctement ? Ensuite, je vais ouvrir un terminal dans le conteneur en utilisant la commande pot man exact minus IT slash bin slash bash. Là, je vais faire un test d'écho et rediriger la sortie vers le fichier slash var slash slash HTML slash index.html. À l'intérieur de ce conteneur, je sortirai du conteneur. Je vais lancer Pac-Man ps minus a. Encore une fois, nous pouvons voir qu' il est opérationnel. Et je vais utiliser la commande appelée Pac-Man commit afin de créer une image basée sur ce conteneur modifié, pod men commit web app, ma nouvelle image, version 1, nous pouvons voir que l'image était créé avec succès. Je vais arrêter le conteneur existant appelé web map, et je le supprimerai à l'aide de la commande poor man RM. Je vais effacer l'écran. Et maintenant, je vais créer un nouveau conteneur fonctionnant en mode détaché avec le même nom, mais maintenant sur la base de l'image validée que nous avons créée précédemment, le conteneur a été créé avec succès et Maintenant, je vais utiliser la commande pot man exec pour exécuter une commande cat dans le conteneur pour voir si le fichier est présent. Barres slash Cat telles que v, V, v slash HTML slash index.html. Et nous pouvons clairement voir que la sortie est conforme aux tests Sud attendus, donc cela a parfaitement fonctionné. Maintenant, je vais utiliser la commande Pokemon stop pour arrêter mon conteneur d'applications Web. Je vais le supprimer à l'aide de la commande pod man RM. Je vais maintenant exécuter la commande Pac-Man images pour répertorier toutes les images enregistrées sur mon système de fichiers local. Et je vais supprimer chacun d'eux avec la commande Pokemon RMI. So proud man, RMI, minute image version 1, pot man, RMI, my new tag 2 et poor man RMI registry dot access, tous deux Red Hat.com, nous pouvons valider que nos systèmes, il est nettoyé par exécuter la commande pot man images et département ps moins une commande et il n'y a plus rien. Félicitations, vous avez maintenant une compréhension de base de la gestion des images de conteneurs à l'aide l'outil de gestion de conteneurs Pac-Man. Rendez-vous dans le prochain module où nous parlerons du stockage éphémère et persistant. 6. Stockage persistant: Bonjour et bon retour. Dans ce module, nous parlerons du stockage de conteneurs et apprendrons comment monter le stockage persistant dans des conteneurs. Parce que par défaut, les conteneurs ont un stockage éphémère. Cela signifie donc que tout ce que nous avons fait dans un conteneur au moment de la destruction a disparu. Alors allons-y. Le stockage utilisé par le conteneur est donc éphémère. La nature éphémère du stockage des conteneurs signifie que son contenu est perdu lorsque vous supprimez le conteneur en montant un répertoire à partir de l'hôte à l'intérieur du conteneur, vous donnez au conteneur stockage persistant. Toutes les modifications et le contenu du répertoire monté seront écrits sur le système de fichiers hôte. Ainsi, ils persisteront une fois que le conteneur aura été détruit ou retiré. N'oubliez pas que vous devez prendre en compte les autorisations du système de fichiers lors du montage d'un volume persistant à utiliser par le conteneur. Maintenant, l'outil de gestion de conteneurs Pokemon prend en charge conteneurs sans racine si vous exécutez le conteneur en tant que racine utilisateur de l'hôte, l'UID et le GID correspondront à ceux du conteneur. Dans un conteneur sans racine, l'utilisateur dispose d'un accès root au sein du conteneur, car pod man crée le conteneur dans l'espace de noms de l'utilisateur, l'utilisateur racine du conteneur correspond à l'UID de l'utilisateur au sein de la machine hôte. Chaque utilisateur situé après dans le conteneur est mappé à un utilisateur compris dans la plage de 100 000. Voyons maintenant quelques commandes utiles pour monter un stockage persistant dans des conteneurs. Avec la carte UID Padma unshare cat slash proc slash slash. Nous pouvons voir ce mappage UID des utilisateurs dans le conteneur. Nous déportons man, unshare cat slash proc slash slash slash JD map. Nous pouvons voir ce mappage GID. Maintenant, si nous voulons monter stockage persistant dans un conteneur, nous allons utiliser la commande pod man run avec l'option minus v. La première commande crée un serveur Web HTTP où le contenu est obtenu à partir du répertoire monté, barre oblique, le contenu Web sur l'hôte est monté sur la barre oblique, var, barre oblique, www, point, slash, chemin HTML à l'intérieur du contenant. L'ajout d'un Z majuscule à la fin du chemin garantit également que vous définissez le contexte SE Linux correct. Passons maintenant à la démo et rendons les choses un peu plus pratiques. Commençons donc cette démonstration en examinant d'abord les mappages GID et UID à l'aide de la commande pod man unshare. Pod man, unshare cat slash, proc slash, slash your ID map. Et nous pouvons voir les mappages ici. Et Birdman unshare cat slash proc slash taille de cellule JID. Et nous pouvons voir les mappages GID ici. Maintenant que nous avons cela, créons un nouveau chemin. Je vais créer un répertoire appelé contenu Web dans le domicile de mon utilisateur. Dans ce dossier, je vais faire écho au message monté IN et je vais rediriger la sortie vers un fichier appelé index.html. Je vais maintenant effacer l' écran et voir quelles images nous avons disponibles à quelles images nous avons disponibles l'aide de la commande Images de Pac-Man. Nous n'en avons aucun. Je vais donc utiliser la commande pod man pull afin télécharger une image d'un serveur HTTP localement. Et attendons un peu que le téléchargement de l'image soit terminé. Le téléchargement de l'image s'est terminé avec succès. Et nous pouvons utiliser la commande pod man run afin de créer un conteneur appelé Web App. Il fonctionnera en mode détaché et je vais monter le répertoire de contenu Web que j'ai précédemment créé à partir de mon hôte dans le dossier slash var slash www slash HTML dans le conteneur, maintenir les contextes corrects de SELinux. En ajoutant le Z majuscule à la fin, je lierai le port via l'option moins p. port 8082 de l'hôte sera donc lié au port 8080 du conteneur. Et je vais utiliser l' image que j'ai précédemment téléchargée. Comme nous pouvons le voir en utilisant la commande pod man ps moins a, le conteneur est opérationnel et le port est délimité correctement. Si je fais une commande curl sur l'hôte local via le port 8082, nous pouvons voir le message «  I am Mountain ». Maintenant, je vais utiliser la commande boatman exec pour obtenir un terminal N dans le conteneur et je vais faire écho à un nouveau message. Ce message signifie que je suis modifié et que je vais afficher la sortie standard, le fichier que nous avons monté dans le conteneur. Donc index.html. Je vais quitter le conteneur à l'aide de la commande exit, et maintenant je vais lire le fichier à partir des points de montage, donc à partir du contenu Web. Et nous pouvons voir que les deux valeurs sont montées et que j'ai modifié. Si j'utilise la commande curl, nous pouvons voir la même sortie. Maintenant, je vais arrêter le conteneur et le retirer à l'aide de la commande pod man RM. Et je vais le recréer juste pour voir la nature du stockage persistant. Nous allons donc tester cela en exécutant une commande curl sur l'hôte local sur le port 8082. Comme vous pouvez le constater, le message est resté inchangé. Cela est dû au fait que le stockage de ce conteneur particulier pour ce chemin particulier est conservé sur l'hôte local. Ainsi, même si le conteneur a été détruit, ce qui était écrit dans le répertoire de contenu Web est resté persistant. Merci beaucoup et je vous verrai dans le prochain module où nous parlerons de la liaison de port. 7. Reliure de port: Bonjour et bon retour. Dans le module précédent, nous avons parlé du stockage éphémère et du stockage persistant, et nous avons appris comment donner un stockage persistant aux conteneurs, afin de ne rien perdre lorsqu'ils sont détruits. Dans ce module, nous allons parler de la liaison des ports et de la manière de lier les ports de l'hôte local aux emplacements de conteneurs pour les rendre également accessibles de l' extérieur. Alors allons-y. Qu'est-ce que la liaison des ports à conteneurs ? Eh bien, la connexion à un conteneur signifie que les clients doivent connecter deux ports de l'hôte qui enverront le trafic vers les ports de conteneurs sportifs ou les ports exposés aux conteneurs. Nous pouvons mapper les ports de l'hôte ceux accessibles depuis l'intérieur du conteneur, afin de rendre les conteneurs accessibles de l'extérieur également, pas seulement depuis l'hôte local. N'oubliez pas que si vous souhaitez également les rendre accessibles de l' extérieur, nous devons également vérifier les règles de pare-feu pour assurer que tout trafic sur ces ports est autorisé. gardant cela à l'esprit, examinons quelques commandes essentielles pour effectuer la liaison de port de conteneur. Maintenant, afin de lier un port de l'hôte local au conteneur, nous allons utiliser la commande pod man run avec l'option minus p. Notre premier exemple crée un serveur Web HTTDP conteneurisé appelé application Web, où tout le trafic provenant du port 8082 de l'hôte est transmis au port 8080 du conteneur. N'oubliez pas que le conteneur doit accepter le trafic sur ce port. Cela signifie qu'il doit être exposé. Et nous pouvons voir qu'en utilisant la commande pot man in spec sur l'image du conteneur, en utilisant le port valise moins une commande, nous pouvons voir tous les mappages de ports. Et en utilisant la commande pod man port spécifiant le nom du conteneur, nous pouvons voir le mappage de port pour un conteneur de noms. N'oubliez pas de créer une règle de pare-feu persistant à l'aide de la commande firewall CMD afin d'autoriser le trafic sur ce port. Maintenant que vous avez un bon aperçu théorique de ce qu'est le mappage de ports et sa fonction dans Container Management. Passons à la démo. abord, j'utiliserai la commande Pokemon images pour montrer que j'ai une image de conteneur HTTDP enregistrée localement. Ensuite, j'utiliserai la commande port man run afin créer un conteneur appelé web app running and detached mode, qui transmettra tout le trafic du port 8082 du côté hôte au port 8080 sur du côté du conteneur. Comme nous pouvons le voir à travers le pod man ps moins une commande, le conteneur est opérationnel. Maintenant, je vais utiliser une commande proud man exec avec l'option minus i t afin d'obtenir un terminal actif dans le conteneur. Ici, je vais faire écho au message hello world, et je vais rediriger la sortie vers le fichier slash var slash www slash HTML slash index.html. Ensuite, je vais quitter le conteneur avec la commande exit. Nous allons maintenant utiliser la commande port man port moins une commande pour voir tous les mappages de ports. Et nous pouvons clairement voir que le trafic de l'hôte local sur le port 8082 est redirigé vers le port 8080 du conteneur. Nous pouvons également le voir en utilisant la commande port man port en spécifiant le nom web app. Maintenant testons cela en utilisant une commande curl, et nous allons appeler l'hôte local sur le port 8082. Et nous pouvons clairement voir le message d'Helloworld. Cela a donc parfaitement fonctionné. Maintenant, afin de rendre le trafic accessible depuis l'extérieur de l'hôte local, je vais également ajouter une règle de pare-feu afin d'autoriser le trafic sur le port 8082. Il me demande des privilèges administratifs. Je vais les donner et c' est un succès. Notre serveur Web Apache conteneurisé est désormais accessible à la fois depuis l'hôte local et également l'extérieur de l' hôte local sur le port 8082. Nous pouvons également voir la liaison de port, même si nous lançons un Pokemon ps moins une commande, nous pouvons clairement voir ici que trafic de l'hôte local est redirigé vers le port 8080 slash TCP côté conteneur. Maintenant, comment puis-je savoir que je dois le faire directement sur le port 8080 du côté du conteneur, c'est là que Pokemon Inspect entre en jeu. Nous pouvons inspecter l'image du conteneur localement sûr et nous examinerons les ports exposés. Les ports exposés sont en fait ceux qui sont accessibles au conteneur. D'où autorise-t-il le trafic ? C'est ainsi que j'ai su que le port 8080 était l'endroit où je devais rediriger le trafic depuis le port 8082. Maintenant, il ne reste plus qu'à nettoyer après nous, notre application web stop the container avec la commande man stop. Ensuite, je vais le supprimer avec la commande Pokemon RM. Enfin, je vais supprimer l'image avec la commande Pokemon RMI. Merci beaucoup et à bientôt dans le prochain module où nous parlerons de Container Networking. 8. Réseaux de conteneurs: Bonjour et bon retour. Dans le module précédent, nous avons parlé un peu mappage de port et liaison d'un port hôte à un port exposé de conteneurs. Nous allons maintenant approfondir la question de la mise en réseau des conteneurs. Nous verrons la capacité des pauvres à créer des réseaux et à résoudre des noms au sein de ces réseaux. Alors, sans plus tarder, commençons. Passons maintenant à quelques points essentiels pour la mise en réseau de conteneurs. La commande importante ici est réseau des deux hommes avec la commande de création de réseau de facteur. Nous pouvons créer un réseau en spécifiant son nom de passerelle et son sous-réseau. Le réseau pauvre inspecte en spécifiant un nom de réseau, nous pouvons obtenir des détails sur un réseau existant. Nous déportons man network create en spécifiant un nom de conteneur. Nous pouvons connecter le conteneur à un réseau existant. Nous déportons le réseau man supprimé. Nous pouvons supprimer un réseau existant et nous déportons la commande man run. Nous pouvons ajouter l'option réseau moins moins et connecter le conteneur à un réseau lors de sa création. Maintenant que nous avons une bonne vue d'ensemble des commandes importantes liées à Container Networking, passons à la démo. Maintenant, pour commencer cette démo, je vais utiliser la commande port man images pour vous montrer mon image de conteneur HTTDP enregistrée localement. Je vais maintenant utiliser la commande de recherche du pauvre pour rechercher une huitième image Red Hat Enterprise Linux. Je l'ai copié et maintenant je vais utiliser les commandes post man Paul pour le télécharger localement. Attendons donc un peu que le téléchargement soit terminé. Maintenant, je vais utiliser la commande poor man network create pour créer un réseau pour mes conteneurs. Le sous-réseau sera spécifié via l'option moins sous-réseau, et il sera de 192168 points un point 0 barre oblique 24. Et la passerelle sera spécifiée via l'option de passerelle moins-moins, et elle sera de 192168 points un, point un. Le nom de mon réseau sera mon réseau. Maintenant que le réseau a été créé avec succès, nous pouvons passer à la création de mes services conteneurisés. abord, je vais utiliser la commande Pac-Man run pour créer un conteneur appelé client fonctionnant en mode détaché, connecté à mon réseau via l'option réseau minus-minus avec stockage persistant. L'image de base derrière ce conteneur sera l'image de base Red Hat Enterprise Linux huit. Comme vous pouvez le voir, le conteneur a été créé avec succès et je vais lister ou exécuter des conteneurs avec le Pokemon ps moins une option, et il est opérationnel. Ensuite, je vais créer mon deuxième service conteneurisé à l'aide de la commande Pokemon run. Il s'agira d'un serveur Web Apache appelé serveur Web, fonctionnant en mode détaché, connecté également à mon réseau. Il utilisera l'image http D24 L7 de register.access.com, que j'ai stockée localement. Ce second conteneur a également été créé avec succès. Nous pouvons les voir à la fois opérationnels et opérationnels. Maintenant, je vais utiliser la commande pod man network ls pour voir tous nos réseaux disponibles. Et nous pouvons clairement voir mon réseau ici. Et pour obtenir des informations plus détaillées sur mon réseau, je vais utiliser la commande postman network inspect en spécifiant le nom de mon réseau. Et nous pouvons voir ici à la fois le sous-réseau et la passerelle. Maintenant que nous avons une bonne vue d'ensemble de notre réseau et de nos conteneurs, voyons si tout fonctionne. J'utiliserai la commande port man exec avec l'option minus IT pour ouvrir un terminal dans le conteneur du serveur Web. Ici, je vais utiliser la commande echo et rediriger sa sortie vers le fichier slash var slash www slash HTML slash index.html. Afin de créer un message personnalisé. Plus précisément, bonjour, je vais quitter ce conteneur, et maintenant je vais entrer dans l'autre conteneur, le conteneur client, à nouveau avec l'option pot man exempt moins IT pour obtenir un terminal dans le client qui exécute Red Hat Enterprise Linux huit. Ici, je vais utiliser la commande curl pour boucler le serveur web sur le port 8080, qui était celui exposé. Et nous pouvons clairement voir que le message est conforme aux attentes. Félicitations, nous avons créé deux conteneurs. L'un s'exécutant dans un serveur Web Apache conteneurisé exécutant Red Hat Enterprise Linux huit, nous avons créé un réseau entre les deux et nous pouvons voir qu'ils communiquent et qu'ils ont également une résolution de serveur nommée. Merci beaucoup et à bientôt dans le prochain et dernier module. 9. Création d'images: Bienvenue dans le module final de notre cours. Ici, nous allons apprendre comment créer images de conteneur à partir de fichiers pour nous aider à créer nos propres images personnalisées et à les personnaliser selon nos propres besoins. Alors, sans plus tarder, commençons. Tout d'abord, nous allons parler des étapes création d'une image de conteneur. Pour que Birdman puisse créer des images automatiquement en lisant les étapes d'un fichier Docker, vous pourriez vous demander ce qu' est un fichier Docker ? Un fichier Docker est un document texte qui contient toutes les commandes qu' un utilisateur peut appeler pour assembler une image. Désormais, les fichiers Docker facilitent également la création de nouvelles images de conteneur basées sur une image existante, comme l' extension d'une largeur d'image de conteneur Enterprise Linux évaluée largeur d'image de conteneur Enterprise Linux et la fonctionnalité HTTLD. Passons donc à autre chose et voyons comment créer réellement une image de conteneur. Tout d'abord, créez un répertoire de travail qui contient tous les fichiers nécessaires à la création de l'image conteneur. Ensuite, nous créons un fichier Docker. Un fichier Docker est simplement un document texte qui contient toutes les commandes qu' un utilisateur peut appeler pour assembler une image. Enfin, nous utilisons la commande depots man build. Nous utilisons la commande Poll Man build pour créer l'image en fonction du fichier docker et d'autres ressources du répertoire de travail. Voyons maintenant un exemple de Dockerfile et voyons nos possibilités. Nous avons maintenant un Dockerfile simple. Le champ De indique quelle image Bates doit être étendue. Le champ d'étiquette indique l'étiquette de cette image de conteneur. Le Rosenfield exécute des commandes dans l'image de base, le champ exposé expose les ports du côté du conteneur. Le champ EM définit les variables d' environnement au sein du conteneur. Le champ Copier copie depuis le répertoire de travail vers le conteneur. Le champ utilisateur définit l'utilisateur sous lequel le conteneur est exécuté, car le champ d'ajout est similaire au champ de copie. Le champ du point d'entrée indique la commande par laquelle le conteneur commence. Et nous pouvons créer le conteneur en analysant ce fichier Docker avec la commande pod men build. Mettons donc toutes ces connaissances en pratique en passant à la démo. Je vais maintenant commencer cette démo en listant le contenu de mon répertoire de travail. J'ai un fichier index.html qui contient le message hello world, et un fichier Docker prédéfini que j'ai assemblé précédemment. Regardons-le. Il étend donc l'image sept de Red Hat Enterprise Linux, l'utilisateur sous lequel le conteneur s'exécute en tant que root. Il exécute une installation yum moins y HTTPD+. Pour installer le service HTTDP, il expose le port 80 et copie le fichier index.html depuis le répertoire de travail dans le chemin du conteneur slash var slash slash HTML slash index.html. Maintenant, je vais utiliser la commande port man build pour créer mon image. Je spécifie l'option minus d pour la balise, qui donnera à la mère mon image, le nom de mon image HTTDP. Maintenant, je vais utiliser la commande Pac-Man images pour voir si l'image a été créée. Et nous pouvons le voir ici, localhost slash mon image HTTDP. Faisons maintenant un test. J'utiliserai la commande pot man run en spécifiant que le conteneur s' exécutera en mode détaché. Le nom de mon conteneur sera Web App. Je vais rediriger le port 8082 vers le port 80 du conteneur, et j'utiliserai ma propre image créée. Le conteneur semble être opérationnel. La redirection de port semble fonctionner. Faisons donc une boucle sur l'hôte local sur le port 8082, et nous pouvons clairement voir le message Bonjour tout le monde. Le fichier a donc été copié avec succès. Nous allons entrer dans le conteneur avec les options exec moins i t de Pac-Man pour ouvrir un terminal dans le conteneur. Comme vous pouvez le voir, le terminal a été ouvert en tant que root. L'utilisateur que je spécifie dans le fichier Docker est donc utilisé et le fichier que nous avons copié de l'hôte local vers le conteneur est présent. Le fichier Docker s'est donc déroulé comme promis. Nous disposons d'un système d'exploitation Red Hat Enterprise Linux seven conteneurisé fonctionnant sur le service HTTDP. En terminant cette démonstration, nous avons également terminé notre cours intensif sur la gestion des conteneurs. Je tiens à vous remercier pour votre présence et peut-être que nous nous verrons dans d'autres cours futurs. Merci beaucoup.