Exécuter un service dans un conteneur

DockerIntermediate
Pratiquer maintenant

Introduction

Dans ce défi, vous allez mettre en pratique la gestion de services conteneurisés sur un système Red Hat Enterprise Linux. Votre mission consiste à construire une image de conteneur personnalisée pour un serveur web, à lancer un conteneur basé sur cette image et à vous assurer que le service est accessible depuis le système hôte. Cet exercice couvre les compétences fondamentales pour le déploiement et la gestion d'applications en conteneurs, une compétence clé pour tout administrateur système certifié Red Hat (RHCSA).

Exécuter un service dans un conteneur

Au cours de ce défi, vous allez concevoir une image de conteneur personnalisée incluant le serveur HTTP Apache (httpd). Vous devrez créer un fichier HTML simple qui sera diffusé par le serveur web, puis lancer un conteneur à partir de votre image. Enfin, vous vérifierez que le service web fonctionne correctement et qu'il est bien accessible depuis l'hôte.

Tâches

  • Construire une image de conteneur personnalisée incluant le serveur HTTP Apache (httpd).
  • Créer un fichier HTML simple destiné à être servi par le serveur web.
  • Exécuter un conteneur à partir de votre image personnalisée et exposer le service web.
  • Vérifier que le service web est opérationnel et accessible depuis la machine hôte.

Exigences

  • Tous les fichiers doivent être créés dans le répertoire ~/project.
  • Créer un Dockerfile utilisant l'image de base ubi9.
  • Le Dockerfile doit installer le paquet httpd.
  • Créer un fichier index.html contenant le texte Hello, World! à l'intérieur d'une balise <h1>.
  • Construire l'image du conteneur et la nommer my-web-server.
  • Lancer un conteneur en arrière-plan à partir de l'image my-web-server.
  • Le conteneur doit être nommé my-web-server-run.
  • Le serveur web à l'intérieur du conteneur doit écouter sur le port 80, et ce port doit être redirigé vers le port 8080 de l'hôte.

Exemple

Une fois le conteneur démarré avec succès, l'exécution de la commande curl localhost:8080 dans votre terminal devrait produire un résultat similaire à celui-ci :

<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Résumé

Dans ce défi, vous avez appris à conteneuriser un service sur un système Red Hat Enterprise Linux. Vous avez créé avec succès un Dockerfile pour définir un environnement personnalisé, construit une image de conteneur à l'aide de podman et exécuté un conteneur pour héberger un serveur web. Vous vous êtes également exercé à vérifier l'état d'un conteneur actif et à tester son service réseau. Ce sont des compétences essentielles pour le déploiement d'applications modernes et l'administration système.

✨ Vérifier la solution et pratiquer