22. Bien démarrer avec Podman sur Ubuntu Server : un guide complet

Introduction

Bien démarrer avec Podman vous présente un moteur de conteneurs moderne et léger, conçu comme une alternative sécurisée et sans root à Docker. Contrairement à Docker, Podman élimine le besoin d'un démon central, offrant une sécurité et une flexibilité accrues aux développeurs et aux administrateurs système qui gèrent des conteneurs. Son architecture sans root est particulièrement attrayante pour les environnements où la minimisation de l'élévation de privilèges est une priorité.

Dans ce guide, nous aborderons les bases de l'installation et de l'utilisation de Podman sur Ubuntu Server 22.04. Nous traiterons également un problème courant lié au téléchargement d'images de conteneurs à l'aide de noms courts (par exemple,nginx) et fournirons une solution claire pour vous aider à bien démarrer avec Podman.

Bien démarrer avec Podman

Articles précédents :

01. Introduction à Ubuntu Server – SysOSX: AI & Cloud

02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud

03.Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud

04. Gestion des utilisateurs et des autorisations sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

05. Notions de base sur les réseaux pour Ubuntu Server : guide complet – SysOSX: AI & Cloud

06. Installation et gestion de logiciels sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

07.Application de correctifs et mise à jour d’Ubuntu Server : guide complet – SysOSX: AI & Cloud

08. Sécuriser votre serveur Ubuntu : étapes pratiques de durcissement et de protection – SysOSX: AI & Cloud

09. Audit et journalisation d’Ubuntu Server

10. Outils de surveillance système pour Ubuntu Server : guide complet – SysOSX: AI & Cloud

11. Journalisation centralisée pour Ubuntu Server : un guide indispensable – SysOSX: AI & Cloud

12. Audit et conformité pour Ubuntu Server : pratiques recommandées – SysOSX: AI & Cloud

13.Configuration de votre serveur Ubuntu pour l’hébergement et les applications web : guide ultime – SysOSX: AI & Cloud

14. Héberger plusieurs sites web sur un seul serveur Ubuntu : conseils utiles – SysOSX: AI & Cloud

15. Gestion du stockage et des disques sur Ubuntu Server : guide simple – SysOSX: AI & Cloud

16. Configuration des services de partage de fichiers sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

17. Configuration d’un serveur de bases de données sécurisé sous Ubuntu : MySQL contre MariaDB – SysOSX: AI & Cloud

18. Comment configurer et utiliser LVM sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

19. Introduction à la virtualisation avec KVM : guide du débutant pour Ubuntu Server – SysOSX: AI & Cloud

20. Comment installer Docker sur Ubuntu Server : guide étape par étape de la conteneurisation – SysOSX: AI & Cloud

21. Bien démarrer avec LXD : installer des conteneurs facilement + aide-mémoire – SysOSX: AI & Cloud



Qu'est-ce que Podman, et pourquoi l'utiliser ?

Podman est un moteur de conteneurs conçu pour créer, exécuter et gérer des conteneurs, en mettant l'accent sur la sécurité et la flexibilité. Voici pourquoi Podman gagne en popularité :

  • Architecture sans démon : Podman ne repose pas sur un service en arrière-plan (contrairement au modèle basé sur un démon de Docker), ce qui réduit les surfaces d'attaque et améliore la sécurité.
  • Conteneurs sans root : Exécutez des conteneurs en tant qu'utilisateur non root pour renforcer encore la sécurité.
  • Commandes compatibles avec Docker : L'interface CLI de Podman est conçue pour être compatible avec Docker, ce qui vous permet d'utiliser des commandes comme podman pull ou podman run de manière transparente.
  • Intégration avec systemd : Gérez facilement les conteneurs en tant que services système.

Étape 1 : Installer Podman sur Ubuntu Server 22.04

1.1 Mettre à jour votre système

Avant d'installer Podman, assurez-vous que votre système est à jour pour éviter les problèmes de compatibilité :

sudo apt update && sudo apt upgrade -y  

1.2 Installer Podman

Podman est inclus dans les dépôts par défaut d'Ubuntu, vous pouvez donc l'installer directement avec le gestionnaire de paquets apt :

sudo apt install podman -y  

1.3 Vérifier l'installation

Après l'installation, vérifiez la version installée de Podman pour vous assurer qu'elle est prête à l'emploi :

podman --version  

Exemple de sortie :

podman version 3.4.4


Étape 2 : Exécuter votre premier conteneur Podman

2.1 Télécharger une image de conteneur

Podman utilise des images de conteneurs pour exécuter des applications. Commencez par télécharger l'image légère d'Alpine Linux :

podman pull alpine  

2.2 Exécuter un conteneur

Exécutez un conteneur avec l'image Alpine :

podman run --rm -it alpine sh  

Cette commande démarre un shell interactif dans le conteneur Alpine. Vous pouvez tester des commandes de base, telles que :

echo "Hello from Podman!"  

2.3 Quitter le conteneur

Pour quitter le conteneur, tapez :

exit  


Étape 3 : Comprendre la résolution des noms courts de Podman

Le problème des noms courts

Lors du téléchargement d'images de conteneurs à l'aide de noms courts (par exemple,nginx), Podman doit savoir dans quel registre rechercher l'image. Sans configuration appropriée, vous risquez de rencontrer l'erreur suivante :

Error: short-name "nginx" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"  

Pourquoi cette erreur se produit-elle ?

Podman nécessite un fichier de configuration (registries.conf) pour définir les registres de conteneurs dans lesquels rechercher les images. Si ce fichier est manquant ou mal configuré, Podman ne peut pas résoudre les noms courts comme nginx.


Étape 4 : Corriger l'erreur de résolution des noms courts

4.1 Le fichier registries.conf  : le localiser ou le créer

Le fichier registries.conf se trouve généralement à l’emplacement /etc/containers/registries.conf. Vérifiez si le fichier existe :

ls /etc/containers/registries.conf  

S'il n'existe pas, créez-le :

sudo nano /etc/containers/registries.conf  

4.2 Ajouter la configuration de registre par défaut

Ajoutez la configuration suivante au fichier :

[registries.search]  
registries = ['docker.io', 'quay.io']  

  • docker.io : Fait référence à Docker Hub, le registre de conteneurs le plus couramment utilisé.
  • quay.io : Un autre registre de conteneurs populaire.

Enregistrez le fichier et quittez (Ctrl+O, puis Ctrl+X, si vous utilisez nano).

4.3 Réessayer la commande de téléchargement

Une fois la configuration du registre en place, essayez de télécharger à nouveau l'image nginx à nouveau :

podman pull nginx  

Podman devrait maintenant résoudre le nom court nginx en docker.io/library/nginx et télécharger l’image avec succès.


Étape 5 : Exécuter des conteneurs en tant qu'utilisateur non root

L'une des fonctionnalités les plus remarquables de Podman est sa capacité à exécuter des conteneurs sans nécessiter de privilèges root. Voici comment le configurer :

5.1 Passer à un utilisateur non root

Connectez-vous en tant qu'utilisateur ordinaire (par exemple,uadmin) :

su - uadmin  

Vérifiez que Podman fonctionne pour l'utilisateur non root :

podman info  

5.2 Corriger les problèmes d'autorisations pour les utilisateurs non root

Si vous rencontrez une erreur permission denied lors de l'exécution de Podman en tant qu'utilisateur non root, cela est probablement dû à une propriété incorrecte du répertoire personnel de l'utilisateur.

Vérifiez la propriété du répertoire personnel :

ls -ld /home/uadmin  

Si le répertoire appartient à root, corrigez-le :

sudo chown -R uadmin:uadmin /home/uadmin  

Créez manuellement le répertoire .local :

mkdir -p /home/uadmin/.local/share/containers  
sudo chown -R uadmin:uadmin /home/uadmin/.local  

Testez à nouveau Podman :

podman info  

Podman devrait maintenant fonctionner correctement en tant qu'utilisateur non root.


Étape 6 : Commandes Podman utiles pour les débutants

Voici quelques commandes Podman essentielles pour vous aider à démarrer :

  • Répertorier les conteneurs en cours d'exécution :
podman ps
  • Répertorier tous les conteneurs (y compris ceux arrêtés) :
podman ps -a
  • Arrêter un conteneur en cours d'exécution :
podman stop <container-id>
  • Supprimer un conteneur :
podman rm <container-id>
  • Supprimer une image :
podman rmi <image-name>

Documentation de référence :
Bien démarrer avec Podman | Podman


    Conclusion

    Podman est un moteur de conteneurs sécurisé, léger et flexible, parfait pour Ubuntu Server 22.04. Dans ce guide, nous avons abordé :

    • Installer Podman.
    • Exécuter votre premier conteneur.
    • Corriger l'erreur de résolution des noms courts.
    • Exécuter des conteneurs en tant qu'utilisateur non root.

    En suivant ces étapes, vous disposez désormais d'une base solide pour commencer à explorer Podman et à gérer efficacement les conteneurs. Avec ses capacités sans root et son interface CLI compatible avec Docker, Podman est un excellent outil pour les flux de travail de conteneurisation modernes.

    Restez à l'écoute :
    Dans le prochain article, nous parlerons de comment déployer Ubuntu Server sur des plateformes cloud , comme GCP, AWS et Azure.

    Laisser un commentaire