Introduction
Dans ce défi, vous allez apprendre à configurer un conteneur Podman pour qu'il démarre automatiquement en tant que service utilisateur systemd. Il s'agit d'une pratique courante et recommandée dans les environnements Red Hat Enterprise Linux (RHEL) pour garantir que vos applications conteneurisées sont opérationnelles et disponibles dès le démarrage du système. En relevant ce défi, vous acquerrez une expérience concrète dans la gestion du cycle de vie des conteneurs avec podman et leur intégration au processus d'initialisation systemd du système, une compétence fondamentale pour tout administrateur système.
Configurer un conteneur pour un démarrage automatique via un service systemd
Au cours de cet exercice, vous allez configurer un conteneur pour qu'il se lance automatiquement en tant que service systemd. Cette méthode est indispensable pour s'assurer que vos services conteneurisés restent accessibles en permanence.
Tâches
Votre objectif est de déployer un serveur web Nginx dans un conteneur Podman et de le configurer pour qu'il s'exécute automatiquement lors du démarrage de la machine.
- Créer et lancer un conteneur
podmanbasé sur l'imagenginx:latest. - Générer un fichier d'unité de service utilisateur
systemdpour ce conteneur. - Activer le service pour qu'il démarre automatiquement pour l'utilisateur
labex. - Activer la persistance de session (lingering) pour l'utilisateur
labexafin de garantir que le service démarre au boot, même sans session utilisateur active. - Vérifier que le conteneur est bien en cours d'exécution et que le service Nginx répond aux requêtes.
Critères de réussite
- Vous devez utiliser exclusivement
podmanpour toutes les tâches de gestion des conteneurs. - L'image du conteneur doit être
docker.io/library/nginx:latest. - Le conteneur doit être nommé
my-nginx. - Le conteneur doit mapper le port hôte
8080vers le port80du conteneur. - Le fichier de service
systemddoit être généré via la commandepodman generate systemd. - Le fichier de service généré doit être placé dans le répertoire
~/.config/systemd/user/container-my-nginx.service. - La persistance de session (lingering) doit être activée pour l'utilisateur
labexà l'aide deloginctl.
Exemple
Une fois ce défi terminé, vous devriez pouvoir accéder à la page d'accueil de Nginx en exécutant curl http://localhost:8080. Le résultat devrait ressembler à ceci :
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Résumé
Dans ce défi, vous avez appris à utiliser podman pour créer un conteneur, puis à générer un service utilisateur systemd pour orchestrer son cycle de vie. Vous avez configuré le service pour un démarrage automatique et activé la persistance de session (lingering) pour assurer son lancement dès le démarrage du système. Ce processus est fondamental pour déployer des applications conteneurisées résilientes sur RHEL et ses dérivés, offrant une alternative robuste aux méthodes traditionnelles.



