Prérequis système¶
Préparer AlmaLinux 9 pour les conteneurs rootless : parametres noyau, outils et registres.
Parametres noyau¶
Certains conteneurs (Elasticsearch, SonarQube) necessitent un vm.max_map_count élevé. Configurez-le de manière permanente :
sudo tee /etc/sysctl.d/99-podman.conf > /dev/null << 'EOF'
vm.max_map_count = 524288
EOF
sudo sysctl --system
Verifiez :
Autoriser les ports < 1024 en rootless
Par défaut, seul root peut binder les ports en dessous de 1024. Si vous avez besoin d'exposer un conteneur sur le port 80 ou 443 sans reverse proxy :
sudo tee /etc/sysctl.d/99-unprivileged-ports.conf > /dev/null << 'EOF'
net.ipv4.ip_unprivileged_port_start = 80
EOF
sudo sysctl --system
Cela affecte tous les utilisateurs du système — a utiliser en connaissance de cause.
Installation des outils conteneurs¶
AlmaLinux 9 fournit un module container-tools qui installe Podman, Buildah et Skopeo d'un coup :
Puis ajoutez Podman Compose :
Podman Compose vs Docker Compose
podman-compose lit les fichiers docker-compose.yml standard. Il ne nécessité pas de daemon — chaque commande créé directement les conteneurs via Podman.
Configuration des registres publics¶
Par défaut, Podman ne sait pas ou chercher les images non qualifiees (sans préfixe docker.io/). Ajoutez Docker Hub comme registre de recherche :
grep -q 'docker.io' /etc/containers/registries.conf || \
sudo sed -i "s/^unqualified-search-registries.*/unqualified-search-registries = [\"docker.io\"]/" \
/etc/containers/registries.conf
Cela permet d'écrire nginx:alpine au lieu de docker.io/library/nginx:alpine dans vos fichiers Compose.
Vérification¶
| Commande | Résultat attendu |
|---|---|
podman --version | podman version 4.x.x ou supérieur |
buildah --version | buildah version 1.x.x |
skopeo --version | skopeo version 1.x.x |
podman-compose --version | podman-compose version x.x.x |
Si toutes les versions s'affichent, les outils sont prets. Passez à la configuration utilisateur.