Aller au contenu

Vérification et depannage

Checklist complète pour valider l'installation, et solutions aux problèmes courants.


Checklist post-install

Commande Vérifié Résultat attendu
sysctl vm.max_map_count Parametre noyau 524288
podman --version Podman installe podman version 4.x.x
buildah --version Buildah installe buildah version 1.x.x
skopeo --version Skopeo installe skopeo version 1.x.x
podman-compose --version Podman Compose installe Version affichee
systemctl --user status podman.socket Socket utilisateur active (listening)
loginctl show-user "$USER" -p Linger Lingering actif Linger=yes
systemctl --user status podman-compose-monapp Service actif active (running)
podman ps Conteneurs Au moins 1 conteneur en cours
curl -s http://localhost:8080 Accès HTTP <h1>Ca marche !</h1>

Executez tout d'un coup :

echo "--- Parametres noyau ---"
sysctl vm.max_map_count

echo ""
echo "--- Versions ---"
podman --version
buildah --version
skopeo --version
podman-compose --version

echo ""
echo "--- Socket Podman ---"
systemctl --user status podman.socket --no-pager

echo ""
echo "--- Lingering ---"
loginctl show-user "$USER" -p Linger

echo ""
echo "--- Service ---"
systemctl --user status podman-compose-monapp.service --no-pager

echo ""
echo "--- Conteneurs ---"
podman ps

echo ""
echo "--- HTTP ---"
curl -s http://localhost:8080

Test de reboot

Le vrai test

Le but de ce setup est le démarrage automatique. Redemarrez la machine et verifiez que tout revient sans intervention :

sudo reboot

Après le reboot, sans vous connecter en SSH d'abord (le lingering fait le travail), attendez une minute puis testez depuis une autre machine :

curl http://<ip-du-serveur>:8080

Si ca répond, le setup est complet.


Depannage

Conteneur qui ne démarré pas après reboot

Symptome : le service est inactive après reboot.

Cause probable : lingering non active.

loginctl show-user "$USER" -p Linger

Si Linger=no :

sudo loginctl enable-linger $USER

Puis redemarrez le service :

systemctl --user start podman-compose-monapp.service

Permission denied sur les volumes

Symptome : le conteneur démarré mais affiche Permission denied en accedant aux fichiers montes.

Cause : SELinux bloque l'accès. Le flag :Z est manquant dans le volume.

Dans docker-compose.yml, ajoutez :Z à la fin du montage :

volumes:
  - ./html:/usr/share/nginx/html:Z

Puis relancez :

podman-compose down
podman-compose up -d

Port déjà utilisé

Symptome : Error: binding to port 8080: address already in use

Identifiez le processus qui occupe le port :

ss -tlnp | grep 8080

Arretez le processus concerne ou changez le port dans docker-compose.yml.


Image non trouvee

Symptome : Error: short-name resolution enforced but cannot prompt

Le registre n'est pas configuré dans /etc/containers/registries.conf. Verifiez :

grep unqualified-search /etc/containers/registries.conf

Doit contenir docker.io. Sinon, revenez à la page Prerequis.

Ou utilisez le nom complet de l'image :

image: docker.io/library/nginx:alpine

Service qui redémarré en boucle

Symptome : systemctl --user status affiche des redémarrages répétés.

Consultez les logs :

journalctl --user -u podman-compose-monapp.service -f

Causes fréquentes :

  • Image introuvable (voir ci-dessus)
  • Erreur dans docker-compose.yml (syntaxe YAML)
  • Port occupe par un autre service
  • Volume pointe vers un répertoire inexistant

Référence rapide

Action Commande
Lister les conteneurs podman ps -a
Logs d'un conteneur podman logs <nom>
Logs du service journalctl --user -u podman-compose-monapp -f
Redémarrer le service systemctl --user restart podman-compose-monapp
Recharger après modif unit systemctl --user daemon-reload
Nettoyer les images inutilisees podman image prune -a
Espace disque conteneurs podman system df