Aller au contenu

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 :

sysctl vm.max_map_count
# vm.max_map_count = 524288
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 :

sudo dnf module install -y container-tools

Puis ajoutez Podman Compose :

sudo dnf install -y 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
podman --version
buildah --version
skopeo --version
podman-compose --version

Si toutes les versions s'affichent, les outils sont prets. Passez à la configuration utilisateur.